Dependencies:   mbed

Revision:
6:09a555c0d997
Parent:
5:ed71996c0534
Child:
7:2a3b566aedd3
--- a/Game/Game.cpp	Sat May 16 14:38:22 2020 +0000
+++ b/Game/Game.cpp	Sat May 16 17:23:17 2020 +0000
@@ -43,16 +43,31 @@
 Game::~Game() {}
 
 void Game::init() {
-    _level =1;
+    _level = 1;
     _is_goal = false;
     _lives = 2;
-    _score =22;
+    _score = 22;
     _speed = 1;
+    _x_val = WIDTH/2;
+    _y_val = 24;
 }
 void Game::displayLevel(int level, N5110 &lcd) {
     _level = level;
     display_background(lcd);
 }
+void Game::readInput(Gamepad &pad, N5110 &lcd) {
+    while(!pad.A_pressed()) {
+        lcd.drawLine(WIDTH / 2 - 5, 41, _x_val, HEIGHT / 2 + 7, 1);
+        lcd.drawLine(WIDTH / 2 + 5, 41, _x_val, HEIGHT / 2 + 7, 1);
+        _x_val += _speed;
+        switch(_x_val){
+            if(_x_val >= 84) {_speed = abs(_speed); }
+            //pointer moves out of screen (right) therefore, switch direction
+            if(_x_val <= 0) {_speed = (-1 * _speed); }
+        }
+        calculate_angle();
+    }
+}
 void Game::updateLives(Gamepad &pad) {
     switch(_lives){
         case 1:
@@ -71,7 +86,7 @@
             pad.leds(1.0);
             break; 
         default:
-            error("Invalid state");  
+            error("Invalid Number of Lives);  
             break; 
     }
 }
@@ -88,7 +103,7 @@
     lcd.drawSprite(76,17,7,7,(int *)grass);
     lcd.drawSprite(67,26,3,3,(int *)grass_small);
     lcd.drawSprite(67,26,3,3,(int *)grass_small);
-    lcd.drawSprite(6,35,3,3,(int *)grass_small);
+    lcd.drawSprite(6,30,3,3,(int *)grass_small);
     lcd.drawSprite(72,32,3,3,(int *)grass_small);
     lcd.drawSprite(69,43,3,3,(int *)grass_small);
     lcd.drawSprite(16,29,3,3,(int *)grass_small);
@@ -96,4 +111,8 @@
     lcd.drawLine(0,24,84,24,1);
     //score card
     lcd.drawRect(0,38,15,11,FILL_TRANSPARENT);
+    //power meter
+    lcd.drawRect(77,27,6,20,FILL_TRANSPARENT);
+    // aim triangle base
+    lcd.drawLine(WIDTH / 2 + 5, 41, WIDTH / 2 - 5, 41, 1);
 }
\ No newline at end of file