Dependencies: mbed
Diff: Game/Game.cpp
- 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