diff --git a/drawWindows.c b/drawWindows.c index 51f89a3..274c19c 100644 --- a/drawWindows.c +++ b/drawWindows.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -160,6 +161,36 @@ void updateInfoWin(){ wnoutrefresh(infoWin); } +void drawGameStartWin(){ + gameStartWin=newwin(11,39,viewportWinRows/4,viewportWinCols/4); + int gameStartWinRows, gameStartWinCols; + getmaxyx(gameStartWin,gameStartWinRows,gameStartWinCols); + + mvwprintw(gameStartWin,1,(gameStartWinCols-strlen("HOW TO PLAY"))/2,"%s","HOW TO PLAY"); + + mvwprintw(gameStartWin,3,13,"WASD | MOVE"); + mvwprintw(gameStartWin,4,11,"ARROWS | ATTACK"); + mvwprintw(gameStartWin,5,13,"1234 | SELECT WEAPON"); + mvwprintw(gameStartWin,6,16,"R | RELOAD"); + mvwprintw(gameStartWin,7,15,"QE | USE ITEM"); + + mvwprintw(gameStartWin,(gameStartWinRows)-2,(gameStartWinCols-strlen("Press any key to start or 'q' to quit"))/2,"%s","Press any key to start or 'q' to quit"); + + box(gameStartWin,0,0); + wnoutrefresh(gameStartWin); + doupdate(); + + char input = wgetch(gameStartWin); + switch(input){ + case 'q': + case 'Q': + endwin(); + exit(0); + default: + nodelay(stdscr, TRUE); + return; + } +} void drawGameOverWin(){ gameOverWin=newwin(11,39,viewportWinRows/4,viewportWinCols/4); diff --git a/drawWindows.h b/drawWindows.h index bda0b64..c07d52f 100644 --- a/drawWindows.h +++ b/drawWindows.h @@ -3,6 +3,7 @@ void updateViewportWin(); void updateInfoWin(); +void drawGameStartWin(); void drawGameOverWin(); #endif diff --git a/initializeWorld.c b/initializeWorld.c index 8655a37..d16320e 100644 --- a/initializeWorld.c +++ b/initializeWorld.c @@ -9,9 +9,6 @@ #include void initializeWorld() { - - startTime=clock(); - timerStart=clock(); srand(time(NULL)); initscr(); @@ -45,6 +42,8 @@ void initializeWorld() { exit(0); } + drawGameStartWin(); + viewportWin=newwin(viewportWinRows,viewportWinCols,0,0); infoWin=newwin(infoWinRows,infoWinCols,viewportWinRows,0); @@ -65,6 +64,9 @@ void initializeWorld() { struct OpenPos openPos = getOpenPos(); addZombie(openPos.y,openPos.x); } + + startTime=clock(); + timerStart=clock(); } void restartGame(){ diff --git a/world.h b/world.h index 3fedead..358f5f1 100644 --- a/world.h +++ b/world.h @@ -12,6 +12,7 @@ float secsElapsed; WINDOW* viewportWin; WINDOW* infoWin; +WINDOW* gameStartWin; WINDOW* gameOverWin; int stdscrRows,stdscrCols;