ELEC2645 (2018/19) / Mbed 2 deprecated henririgby98

Dependencies:   mbed

Revision:
7:e0cab3e73df9
Parent:
6:e7ac87a41840
Child:
8:3c15554e6723
--- a/main.cpp	Wed May 08 10:08:56 2019 +0000
+++ b/main.cpp	Wed May 08 19:25:27 2019 +0000
@@ -4,7 +4,6 @@
 #include "N5110.h"
 #include "SpaceRebEngine.h"
 
-
 #define SPACEINVADER_WIDTH 8
 #define SPACEINVADER_HEIGHT 11
 #define MISSILES_SIZE 2
@@ -25,26 +24,37 @@
 void update_game(UserInput input);
 void render();
 void welcome();
-
+void Game1Over();
+///////////// gloabal variable ////////////////
+bool end = false;
+float counter = 1.0;
+int score = 0;
+int speed = MISSILES_SPEED;
 ///////////// functions ////////////////
 int main()
 {
+    start:
+    end = false;
     int fps = 8;  // frames per second
-
+    
     init();     // initialise and then display welcome screen...
     welcome();  // waiting for the user to start
     
     render();  // first draw the initial frame 
     wait(1.0f/fps);  // and wait for one frame period
 
-
     // game loop - read input, update the game state and render the display
-    while (1) {
+    while (!end) {
         spacerebellion.read_input(pad);
         spacerebellion.update(pad);
         render();
+        end = spacerebellion.game_end();
         wait(1.0f/fps);
+        counter = counter + 1/8;
     }
+    lcd.clear();
+    Game1Over();
+    goto start;
 }
 
 // initialies all classes and libraries
@@ -85,3 +95,20 @@
     }
  
 }
+
+void Game1Over() {
+    lcd.printString("   You died!    ",0,1);
+    lcd.printString("  Score =",0,2);
+    spacerebellion.print_scores(lcd);
+    lcd.printString("Press BACK...",0,4);
+    lcd.refresh();
+    // wait flashing LEDs until start button is pressed 
+    while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
+        pad.leds_on();
+        wait(0.1);
+        pad.leds_off();
+        wait(0.1);
+    }
+ 
+}
+