ELEC2645 (2017/18) / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Revision:
11:cb48d596aa3e
Parent:
10:3af708f38a42
Child:
12:4d7f1349d796
diff -r 3af708f38a42 -r cb48d596aa3e GameEngine/GameEngine.cpp
--- a/GameEngine/GameEngine.cpp	Thu May 03 12:07:54 2018 +0000
+++ b/GameEngine/GameEngine.cpp	Thu May 03 22:34:03 2018 +0000
@@ -16,6 +16,8 @@
     _asteroid1.init(2);
     _asteroid2.init(3);
     _asteroid3.init(4);
+   // Sec=0;
+    gameOver=0;
 }
 
 void GameEngine::read_input(Gamepad &pad)
@@ -29,10 +31,11 @@
     // draw the game elements in the LCD
     _rocket.draw(lcd);
     _asteroid1.draw(lcd);
-    _asteroid2.draw(lcd);
+   _asteroid2.draw(lcd);
     _asteroid3.draw(lcd);
     //print_scores(lcd);
     print_scores1(lcd);
+   // print_sec(lcd);
   
 }
 
@@ -44,7 +47,7 @@
     _asteroid1.update();
     _asteroid2.update();
     _asteroid3.update();
-
+    //sec();
 }
 
 
@@ -56,8 +59,12 @@
     
     Vector2D _rocket_pos = _rocket.get_pos();
 
-    if (_rocket_pos.x+11 >=_asteroid1_pos.x && _rocket_pos.x+9 <_asteroid1_pos.x ) {//size //sprint width //float/////////////speed
-        if(  _asteroid1_pos.y >= _rocket_pos.y && _asteroid1_pos.y <= _rocket_pos.y+7 || _asteroid1_pos.y+7 >= _rocket_pos.y && _asteroid1_pos.y+7 <= _rocket_pos.y+7 ) {
+    if ((_rocket_pos.x+10 >=_asteroid1_pos.x) &&
+        ( _rocket_pos.x+8 <_asteroid1_pos.x )) {//size //sprint width //float/////////////speed
+        if( ( _asteroid1_pos.y >= _rocket_pos.y) &&
+            ( _asteroid1_pos.y <= _rocket_pos.y+7) || 
+            (_asteroid1_pos.y+6 >= _rocket_pos.y) && 
+            (_asteroid1_pos.y+6 <= _rocket_pos.y+7 )) {
             _rocket.add_score();
             pad.tone(1500.0,0.5);
             pad.leds_on();
@@ -66,8 +73,13 @@
         }
     }
     
-    if (_rocket_pos.x+11 >=_asteroid2_pos.x && _rocket_pos.x+9 <_asteroid2_pos.x ) {//size //sprint width //float/////////////speed
-        if(  _asteroid2_pos.y >= _rocket_pos.y && _asteroid2_pos.y <= _rocket_pos.y+7 || _asteroid2_pos.y+7 >= _rocket_pos.y && _asteroid2_pos.y+7 <= _rocket_pos.y+7 ) {
+    if ((_rocket_pos.x+10 >=_asteroid2_pos.x) &&
+            (_rocket_pos.x+8 <_asteroid2_pos.x )) {
+        //size //sprint width //float/////////////speed
+        if( (_asteroid2_pos.y >= _rocket_pos.y) &&
+                ( _asteroid2_pos.y <= _rocket_pos.y+7) ||
+                (_asteroid2_pos.y+6 >= _rocket_pos.y) &&
+                ( _asteroid2_pos.y+6 <= _rocket_pos.y+7 )) {
             _rocket.add_score();
             pad.tone(1500.0,0.5);
             pad.leds_on();
@@ -75,14 +87,19 @@
             pad.leds_off();
         }
     }
-    
-    if (_rocket_pos.x+11 >=_asteroid3_pos.x && _rocket_pos.x+7 <_asteroid3_pos.x ) {//size //sprint width //float/////////////speed
-        if(  _asteroid3_pos.y >= _rocket_pos.y && _asteroid3_pos.y <= _rocket_pos.y+7 || _asteroid3_pos.y+7 >= _rocket_pos.y && _asteroid3_pos.y+7 <= _rocket_pos.y+7 ) {
-            _rocket.add_score();
-            pad.tone(1500.0,0.5);
-            pad.leds_on();
-            wait(0.5);
-            pad.leds_off();
+///////////////////////////////////////
+    if ((_rocket_pos.x+10 >= _asteroid3_pos.x) &&
+        ( _rocket_pos.x+6 < _asteroid3_pos.x )) 
+        {//size //sprint width //float/////////////speed
+            if( (_asteroid3_pos.y >= _rocket_pos.y) &&
+                ( _asteroid3_pos.y <= _rocket_pos.y+7) ||
+                ( _asteroid3_pos.y+6 >= _rocket_pos.y) && 
+                (_asteroid3_pos.y+6 <= _rocket_pos.y+7 )) {
+                _rocket.add_score();
+                pad.tone(1500.0,0.5);
+                pad.leds_on();
+                wait(0.5);
+                pad.leds_off();
         }
     }
     
@@ -120,4 +137,39 @@
 int GameEngine::get_gameOver1()
 {
     return gameOver;
-}
\ No newline at end of file
+}
+/*void GameEngine::sec(){
+    //Sec=timer_isr();
+    
+    Sec++;
+    }
+//int GameEngine::get_time()
+//{
+    //return sec;
+   // }
+    
+void GameEngine::print_sec(N5110 &lcd)
+{
+    // get scores from paddles
+    //int R1_sec = _R1.get_score();
+
+    // print to LCD i
+    char buffer1[11];
+    sprintf(buffer1,"%3d",Sec);
+    lcd.printString(buffer1, 40, 0);  // font is 8 wide, so leave 4 pixel gape from middle assuming two digits    
+}
+
+void GameEngine::print_sec_over(N5110 &lcd)
+{
+    // get scores from paddles
+    //int R1_sec = _R1.get_score();
+
+    // print to LCD i
+    char buffer2[11];
+    sprintf(buffer2," time: %3d s",Sec);
+    lcd.printString(buffer2, 0, 5);  // font is 8 wide, so leave 4 pixel gape from middle assuming two digits    
+}
+
+void timer_isr(){
+    g_timer_flag=1;
+    }*/
\ No newline at end of file