Initial publish
Dependencies: mbed
Fork of el17dg by
Diff: game/game.cpp
- Revision:
- 32:5403bb974294
- Parent:
- 31:becb8f6bf7b7
- Child:
- 33:c623c6d5ed16
--- a/game/game.cpp Tue Apr 23 18:18:57 2019 +0000 +++ b/game/game.cpp Fri Apr 26 13:09:03 2019 +0000 @@ -15,7 +15,6 @@ #include "hud.h" const int increase_difficulty = 50; - int GameGlobals::game_score = 0; int GameGlobals::score_count_for_difficulty = 0; int GameGlobals::player_lifes = 3; @@ -52,7 +51,7 @@ hud.displayLifes(); playerShip.updateAndDrawBlasts(); stars.updateAndDrawSmallStars(); - stars.updateAndDrawMediumStars(); + //stars.updateAndDrawMediumStars(); enemies.updateAndDrawEnemies(); collideEnemiesAndBlasts(); collideEnemiesBlastsAndPlayer(); @@ -71,7 +70,7 @@ */ void Game::collideEnemiesAndBlasts() { for (int i = 0; i < max_enemies; ++i) { - for (int j = 0; j < max_player_blasts; ++j) { + for (int j = 0; j < playerShip.max_player_blasts; ++j) { Enemy& enemy = enemies.enemies[i]; GameObject& blast = playerShip.blasts[j]; if (enemy.active && !enemy.dead && blast.active) { @@ -171,7 +170,7 @@ for (int i = 0; i < max_enemies; ++i) { enemies.enemies[i].active = false; } - for (int i = 0; i < max_player_blasts; ++i) { + for (int i = 0; i < playerShip.max_player_blasts; ++i) { playerShip.blasts[i].active = false; } for (int i = 0; i < max_enemy_blasts; ++i) { @@ -249,6 +248,10 @@ * A separate function that draws game over. */ void Game::drawGameOver(){ for (int i = 0; i < 42; i++){ + if (gamepad.check_event(gamepad.START_PRESSED)){ + ifGameOverSkipped(); + break; + } musicGameOver(); lcd.clear(); gameOverLogo.pos.x += 1; @@ -260,6 +263,15 @@ } } +void Game::ifGameOverSkipped(){ + lcd.clear(); + gameOverLogo.pos.x = game_area_x - 29 + 42; + youDied.pos.x = game_area_width - 42; + drawSprite(gameOverLogo.pos, game_over_sprite); + drawSprite(youDied.pos, you_died_sprite); + lcd.refresh(); +} + void Game::ledsGameOver(){ gamepad.led(1,(float)led_state); gamepad.led(2,(float)!led_state);