#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='@', .isAlive=1}; struct Weapon pistol = {.type="Pistol", .isAlive=1, .range=3, .maxCapacity=12, .curCapacity=12, .symbols="-\\|/-\\|/"}; passableChars="#"; unpassableChars="+\\|"; viewportWinRows = 19; viewportWinCols = 80; infoWinRows = 5; infoWinCols = 80; getmaxyx(stdscr,stdscrRows,stdscrCols); if (stdscrRows < viewportWinRows+infoWinRows || stdscrCols < viewportWinCols){ endwin(); printf("ERROR: Terminal too small\n"); printf("Minimum size is: %dx%d\n",viewportWinRows+infoWinRows,viewportWinCols); printf("Terminal size is: %dx%d\n",stdscrRows,stdscrCols); exit(0); } viewportWin=newwin(viewportWinRows,viewportWinCols,0,0); infoWin=newwin(infoWinRows,infoWinCols,viewportWinRows,0); allEntities[0]=player; allEntities[0].curYpos=viewportWinRows/2; allEntities[0].curXpos=viewportWinCols/2; allEntities[0].prevYpos=allEntities[0].curYpos; allEntities[0].prevXpos=allEntities[0].curXpos; allEntities[0].weapons[1]=pistol; allEntities[0].curWeapon=1; updateInfoWin(); updateViewportWin(); int i; for(i=0;i