Musallam Bseiso / Engine
Revision:
10:b2dd5f484f98
Parent:
9:0efc8d7cdcf7
Child:
11:10c01766f774
diff -r 0efc8d7cdcf7 -r b2dd5f484f98 Engine.cpp
--- a/Engine.cpp	Mon Apr 10 16:44:12 2017 +0000
+++ b/Engine.cpp	Tue Apr 25 10:13:53 2017 +0000
@@ -2,14 +2,13 @@
 
 Engine::Engine()
 {
+    collisions = 0;
+    wave_counter = 0;
 }
 
 Engine::~Engine()
 {
-}
-
-int collisions = 0;
-int wave_counter = 0;
+} 
 
 void Engine::init(int friendly_width,int friendly_height,int ship_size,int speed,N5110 &lcd, Gamepad &pad)
 {
@@ -44,7 +43,6 @@
     _friendly.draw(lcd);
     _stats.draw_health(lcd);
     _stats.check_health(lcd, collisions);
-    _bullet.draw(lcd);
     wave_draw(lcd);
 }
 
@@ -74,13 +72,10 @@
     _ship6.draw(lcd);
 }
 
-
-
 void Engine::checker(N5110 &lcd, Gamepad &pad)
 {
     check_pass(pad);
     check_death(lcd, pad);
-    //_stats.check_health(lcd);
 }
 
 void Engine::update(N5110 &lcd, Gamepad &pad)
@@ -92,59 +87,70 @@
     _ship4.update();
     _ship5.update();
     _ship6.update();
-    _bullet.update();
+    //_bullet.update();
 }
 
-/*void Engine::shoot(N5110 &lcd, Gamepad &pad, int speed)
+void Engine::shoot(N5110 &lcd, Gamepad &pad, int speed)
 {
     _speed = speed;
     
     if (pad.check_event(Gamepad::A_PRESSED) == true) 
     {    
-    pad.tone(1200.0,0.1);
-    //_bullet.init(lcd, pad, _speed);
-    //_bullet.draw(lcd);
-    //_bullet.update();
+        //trigger = true;
     }
     
-}*/
+    //if (trigger == true) 
+    //{   
+        //pad.tone(1200.0,0.1);
+        //_bullet.init(_speed);
+        //_bullet.draw(lcd);
+        //_bullet.update();
+        //trigger = false;
+    //}
+}
 
 void Engine::check_pass(Gamepad &pad)
 {
     Vector2D ship1_pos = _ship1.get_pos();
     
-    if (ship1_pos.x + _ship_size < 0) {
+    if (ship1_pos.x + _ship_size < 0) 
+    {
         _ship1.init(_ship_size,_speed);
         wave_counter = wave_counter + 1;
     }
     
     Vector2D ship2_pos = _ship2.get_pos();
     
-    if (ship2_pos.x + _ship_size < 0) {
+    if (ship2_pos.x + _ship_size < 0) 
+    {
         _ship2.init(_ship_size,_speed);
     }
     
     Vector2D ship3_pos = _ship3.get_pos();
     
-    if (ship3_pos.x + _ship_size < 0) {
+    if (ship3_pos.x + _ship_size < 0) 
+    {
         _ship3.init(_ship_size,_speed);
     }
     
     Vector2D ship4_pos = _ship4.get_pos();
     
-    if (ship4_pos.x + _ship_size < 0) {
+    if (ship4_pos.x + _ship_size < 0) 
+    {
         _ship4.init(_ship_size,_speed);
     }
     
     Vector2D ship5_pos = _ship5.get_pos();
     
-    if (ship5_pos.x + _ship_size < 0) {
+    if (ship5_pos.x + _ship_size < 0) 
+    {
         _ship5.init(_ship_size,_speed);
     }
     
     Vector2D ship6_pos = _ship6.get_pos();
     
-    if (ship6_pos.x + _ship_size < 0) {
+    if (ship6_pos.x + _ship_size < 0) 
+    {
         _ship6.init(_ship_size,_speed);
     }
 }
@@ -154,13 +160,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship1_pos = _ship1.get_pos();
     
-    if (
-        (friendly_pos.y >= ship1_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship1_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship1_pos.y+5) && 
         (friendly_pos.x+6 >= ship1_pos.x) && 
-        (friendly_pos.x+6 <= ship1_pos.x+5)  
-    ) {
-
+        (friendly_pos.x+6 <= ship1_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -171,13 +175,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship2_pos = _ship2.get_pos();
     
-    if (
-        (friendly_pos.y >= ship2_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship2_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship2_pos.y+5) && 
         (friendly_pos.x+6 >= ship2_pos.x) && 
-        (friendly_pos.x+6 <= ship2_pos.x+5)  
-    ) {
-
+        (friendly_pos.x+6 <= ship2_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -188,13 +190,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship3_pos = _ship3.get_pos();
     
-    if (
-        (friendly_pos.y >= ship3_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship3_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship3_pos.y+5) && 
         (friendly_pos.x+6 >= ship3_pos.x) && 
-        (friendly_pos.x+6 <= ship3_pos.x+5)  
-    ) {
-
+        (friendly_pos.x+6 <= ship3_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -205,13 +205,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship4_pos = _ship4.get_pos();
     
-    if (
-        (friendly_pos.y >= ship4_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship4_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship4_pos.y+5) && 
         (friendly_pos.x+6 >= ship4_pos.x) && 
-        (friendly_pos.x+6 <= ship4_pos.x+5)  
-    ) {
-
+        (friendly_pos.x+6 <= ship4_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -222,13 +220,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship5_pos = _ship5.get_pos();
     
-    if (
-        (friendly_pos.y >= ship5_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship5_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship5_pos.y+5) && 
         (friendly_pos.x+6 >= ship5_pos.x) && 
-        (friendly_pos.x+6 <= ship5_pos.x+5)  
-    ) {
-
+        (friendly_pos.x+6 <= ship5_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -239,12 +235,11 @@
     Vector2D friendly_pos = _friendly.get_pos();
     Vector2D ship6_pos = _ship6.get_pos();
     
-    if (
-        (friendly_pos.y >= ship6_pos.y-5) && // change 5 to friendly size and 6 to ship size
+    if ((friendly_pos.y >= ship6_pos.y-5) && // change 5 to friendly size and 6 to ship size
         (friendly_pos.y <= ship6_pos.y+5) && 
         (friendly_pos.x+6 >= ship6_pos.x) && 
-        (friendly_pos.x+6 <= ship6_pos.x+5)  
-    ) {
+        (friendly_pos.x+6 <= ship6_pos.x+5)) 
+    {
         pad.tone(800.0,0.1);
         collisions = collisions + 1;
     }
@@ -263,20 +258,24 @@
 
 void Engine::game_over(N5110 &lcd, Gamepad &pad)
 {
-    if (collisions >= 6) {
+    if (collisions >= 6) 
+    {
         lcd.drawRect(0,0,84,48,FILL_WHITE);
-        lcd.printString("  You Lose! ",0,1);
-        lcd.printString("  Press Start! ",0,4);
+        lcd.printString("  You Lose! ",0,0);
+        lcd.printString("  Press Right ",0,2);
+        lcd.printString("  & Left! ",0,4);
         lcd.refresh();
+        wait(1);
+        //printf("Hello\n");
         
-        while (pad.check_event(Gamepad::START_PRESSED) == false) {
+        while  ((pad.check_event(Gamepad::R_PRESSED) == false) || 
+                (pad.check_event(Gamepad::L_PRESSED) == false)) {
             wait(0.1);
+            //printf("3333\n");
         }
         
         init(_friendly_width, _friendly_height, _ship_size, _speed, lcd, pad);
         collisions = 0;
         wave_counter = 0;
     }
-}
-
-
+}
\ No newline at end of file