JianWei Lee
/
project_game
Meteor defense project
Diff: main.cpp
- Revision:
- 32:580d74825810
- Parent:
- 31:1c0e47931e84
- Child:
- 33:61c69c46a941
--- a/main.cpp Wed Apr 19 21:42:46 2017 +0000 +++ b/main.cpp Fri Apr 21 12:00:17 2017 +0000 @@ -20,42 +20,44 @@ Ticker waveCompleteTicker; int setTicker; int waveComplete_flag; -void waveComplete_isr(); -char wave[10]; int waveNumber; +int menu; +char wave[10]; void init(); void render(); - +void waveComplete_isr(); +void gameMenu(); int main() { + init(); + gameMenu(); setTicker = 1; //set the ticker. - init(); while (true) { if (setTicker == 1) { sprintf(wave, "wave %d", waveNumber + 1); //+1 because initially waveNumber = 0 lcd.printString(wave,10,3); render(); wait(2.0); - game.init(); - waveCompleteTicker.attach(&waveComplete_isr,60); + game.init(waveNumber); + waveCompleteTicker.attach(&waveComplete_isr,60); //60 seconds for a wave. setTicker = 0; //clear set ticker flag } game.update(pad, lcd); //this is the game - while(waveComplete_flag == 1) { + while(waveComplete_flag == 1) { //after every wave, go to upgrades waveCompleteTicker.detach(); - lcd.printString("60 seconds",10,3); + lcd.printString("Wave complete",10,3); lcd.printString("Start to Upgrade",1,5); render(); game.weapUpgrade(pad, lcd); - if (game.done == 1) { + if (game.doneUpgrade == 1) { waveComplete_flag = 0; //get out of while loop setTicker = 1; //continue the game - game.done = 0; + game.doneUpgrade = 0; printf("i got out"); } } @@ -67,7 +69,7 @@ // need to initialise LCD and Gamepad lcd.init(); pad.init(); - game.init(); + game.init(waveNumber); // initialise the game } void render() { @@ -79,4 +81,13 @@ void waveComplete_isr() { waveComplete_flag = 1; waveNumber += 1; +} +void gameMenu() { + + while ( pad.check_event(Gamepad::START_PRESSED) == false) { + game.startingMenu(pad, lcd); + lcd.refresh(); + wait(0.2); + } + lcd.clear(); } \ No newline at end of file