Initial publish

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

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);