ELEC2645 (2017/18) / Mbed 2 deprecated el17yw

Dependencies:   mbed

Revision:
11:7027f69672fc
Parent:
10:ef01b3076040
Child:
12:0d7d3be8bd40
--- a/engine/engine.cpp	Sun Apr 22 23:34:39 2018 +0000
+++ b/engine/engine.cpp	Mon Apr 23 21:10:55 2018 +0000
@@ -34,7 +34,7 @@
 }
 
 
-void engine::update(Gamepad &pad)
+void engine::update(Gamepad &pad,N5110 &lcd)
 {
      
     _rect.update(_d,_mag); //get the position of rect when jopystick moves
@@ -46,7 +46,7 @@
     check_boom_pos(pad);
     check_money_pos(pad);
     check_rect_pos(pad);
-    check_boom_collision(pad);
+    check_boom_collision(pad,lcd);
    
 }
 
@@ -106,29 +106,30 @@
 
 
 }
-void engine::check_boom_collision(Gamepad &pad)
+void engine::check_boom_collision(Gamepad &pad,N5110 &lcd)
 {
     Vector2D boom_pos = _boom.get_pos();
     Vector2D rect_pos = _rect.get_pos();
     Vector2D money_pos = _money.get_pos();
     
     if (
-        (boom_pos.x-2 >= rect_pos.x)and
-        (boom_pos.x+2 <= rect_pos.x+10)and
-        (boom_pos.y == 38))
+        (boom_pos.x-3 >= rect_pos.x)and
+        (boom_pos.x+3 <= rect_pos.x+10)and
+        (boom_pos.y == 40))
         
              {
              boom_pos.y = 0;  
              boom_pos.x = rand()%84; 
              pad.tone(750.0,0.1);
+  engine::print_scores(lcd);
             }
 
     _money.set_pos(money_pos); 
     _boom.set_pos(boom_pos); 
     _rect.set_pos(rect_pos);      
 }
-
-void engine::check_goal(Gamepad &pad)
+/*
+void engine::check_goal(Gamepad &pad,N5110 &lcd)
 {
     Vector2D boom_pos = _boom.get_pos();
     Vector2D rect_pos = _rect.get_pos();
@@ -136,8 +137,9 @@
     
     if ((boom_pos.x-2 >= rect_pos.x)and
         (boom_pos.x+2 <= rect_pos.x+10)and
-        (boom_pos.y == 38)){
+        (boom_pos.y == 40)){
         _rect.add_score();
+    
         //_ball.init(_ball_size,_speed);
         pad.tone(1500.0,0.5);
         pad.leds_on();
@@ -146,20 +148,16 @@
     }
 
 }
-
+*/
 void engine::print_scores(N5110 &lcd)
 {
 
-    int rect_score = _rect.get_score();
-
-    // print to LCD i
-    char buffer[14];
-    sprintf(buffer,"%2d",rect_score);
-    lcd.printString(buffer,WIDTH/2 - 20,1);  // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
-
+    lcd.clear();
+    lcd.refresh();
+    lcd.printString("     Game Over    ",5,1);  
+    wait(5);
 }
 
 
 
 
-