Initial publish
Dependencies: mbed
Fork of el17dg by
Diff: game/game.cpp
- Revision:
- 14:e8de27c4d0d4
- Parent:
- 13:5c3dc6e827c2
- Child:
- 15:0145c5f0bea1
--- a/game/game.cpp Sun Mar 17 22:56:24 2019 +0000 +++ b/game/game.cpp Mon Mar 18 10:34:48 2019 +0000 @@ -45,6 +45,8 @@ const float enemy_collision_offset_x = 5; const float enemy_collision_offset_y = 3; +int game_score = 0; + GameObject player; @@ -73,16 +75,24 @@ enemies[i].x -= enemy_speed; if (!enemies[i].dead) { lcd.drawSprite(enemies[i].x, enemies[i].y, 7, 11, (int*)enemyShip2); - } else { + } + if (enemies[i].x < 0){ + enemies[i].active = false; + } + else { if (enemies[i].dead_counter > 0) { enemies[i].dead_counter--; - lcd.drawSprite(enemies[i].x, enemies[i].y, 7, 11, (int*)enemyExploded); - } else { + if (enemies[i].dead_counter == 2){ + lcd.drawSprite(enemies[i].x, enemies[i].y, 7, 11, (int*)enemyHalfExploded); + } + else if (enemies[i].dead_counter == 1){ + lcd.drawSprite(enemies[i].x, enemies[i].y, 7, 11, (int*)enemyExploded); + game_score += 30; + } + else { enemies[i].active = false; } } - if (enemies[i].x < -5){ - enemies[i].active = false; } } } @@ -229,11 +239,20 @@ y_ship_pos += ship_speed; } } - else if (y_ship_pos >= (47 - spaceship1_height)){ y_ship_pos = 47 - spaceship1_height;} //Limits for y direction border IMPROVE IF POSSIBLE. - else if (y_ship_pos < 0){ y_ship_pos = 0;} - + else if (y_ship_pos >= (47 - spaceship1_height)){ //Limits for y direction border IMPROVE IF POSSIBLE. + y_ship_pos = 47 - spaceship1_height; + } + else if (y_ship_pos < 0){ + y_ship_pos = 0; + } } +void highScore(){ + char buffer[4]; + sprintf(buffer," Score: %i",game_score); + //printf(buffer); + lcd.printString(buffer,0,0); +} bool Game::updateAndDraw() { @@ -259,6 +278,7 @@ updateAndDrawMediumStars(); updateAndDrawEnemies(); collideEnemiesAndBlasts(); + highScore(); lcd.drawSpriteOnTop(x_ship_pos, y_ship_pos, spaceship1_width, spaceship1_height, (int *)spaceShip1); /*char buffer[4];