#include #include #include #include #include #include void initializeWorld() { srand(time(NULL)); initscr(); curs_set(0); cbreak(); nodelay(stdscr, TRUE); keypad(stdscr, TRUE); noecho(); struct Entity player = {.type="player",.symbol='@', .curYpos=1, .curXpos=1, .nextYpos=1, .nextXpos=1 ,.isAlive=1}; struct Weapon pistol = {.type="Pistol", .isAlive=1, .range=3, .maxCapacity=12, .curCapacity=12, .symbols="-\\|/-\\|/"}; passableChars="#"; unpassableChars="+\\|"; viewportWinRows = 21; viewportWinCols = 87; scoreWinRows = 7; scoreWinCols = 87; getmaxyx(stdscr,stdscrRows,stdscrCols); if (stdscrRows < viewportWinRows+scoreWinRows || stdscrCols < viewportWinCols){ endwin(); printf("ERROR: Terminal too small\n"); printf("Minimum size is: %dx%d\n",viewportWinRows+scoreWinRows,viewportWinCols); printf("Terminal size is: %dx%d\n",stdscrRows,stdscrCols); exit(0); } viewportWin=newwin(viewportWinRows,viewportWinCols,0,0); scoreWin=newwin(scoreWinRows,scoreWinCols,viewportWinRows,0); allEntities[0]=player; allEntities[0].curYpos=viewportWinRows/2; allEntities[0].curXpos=viewportWinCols/2; allEntities[0].nextYpos=allEntities[0].curYpos; allEntities[0].nextXpos=allEntities[0].curXpos; allEntities[0].weapons[1]=pistol; allEntities[0].curWeapon=1; drawScore(); drawViewport(); int i; for(i=0;i