Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Game/Game.cpp
- Revision:
- 21:7d4827af00d6
- Parent:
- 20:ad13b0fdd8ff
- Child:
- 22:8e38efeae0c9
--- a/Game/Game.cpp Wed May 08 18:36:45 2019 +0000
+++ b/Game/Game.cpp Wed May 08 23:17:35 2019 +0000
@@ -11,32 +11,59 @@
void Game::init(){
smiley.init(x,y);
_lives = 10;
- coin1.init(41, 42);
- coin2.init(41, 23);
- coin3.init(78, 42);
- coin4.init(31, 35);
+ coin = 0;
+ coin1.init(41,42);
+ coin2.init(41,23);
+ coin3.init(78,42);
+ coin4.init(22,34);
+ coin5.init(22,12);
+ coin6.init(59,12);
+ coin7.init(59,34);
+ coin8.init(78,14);
+ coin9.init(78,4);
+ coin10.init(41,4);
+ coin11.init(4,4);
+ coin12.init(78,23);
+ coin13.init(13,14);
+ enemyA.init(28,18);
+ enemy1.init(58,31);
+ enemyB.init(67,20);
+ enemy2.init(67,12);
+
}
void Game::dirmag(Gamepad &pad){
dir = pad.get_direction();
- mag = pad.get_mag();
}
void Game::drawSprite(N5110 &lcd){
maze.drawSprite(lcd);
- enemy1.drawSprite(lcd);
- enemy2.drawSprite(lcd);
coin1.drawSprite(lcd);
coin2.drawSprite(lcd);
coin3.drawSprite(lcd);
coin4.drawSprite(lcd);
+ coin5.drawSprite(lcd);
+ coin6.drawSprite(lcd);
+ coin7.drawSprite(lcd);
+ coin8.drawSprite(lcd);
+ coin9.drawSprite(lcd);
+ coin10.drawSprite(lcd);
+ coin11.drawSprite(lcd);
+ coin12.drawSprite(lcd);
+ coin13.drawSprite(lcd);
+ enemyA.drawSpriteA(lcd);
+ enemy1.drawSprite1(lcd);
+ enemyB.drawSpriteB(lcd);
+ enemy2.drawSprite2(lcd);
smiley.drawSprite(lcd);
}
-void Game::movement(Gamepad &pad, N5110 &lcd){
+void Game::movement(N5110 &lcd, Gamepad &pad){
smiley.movement(dir,lcd);
- enemy1.movement(lcd);
- enemy2.movement(lcd);
+ enemyA.movementA(lcd);
+ enemy1.movement1(lcd);
+ enemyB.movementB(lcd);
+ enemy2.movement2(lcd);
}
void Game::collect(N5110 &lcd, Gamepad &pad){
@@ -46,26 +73,46 @@
coin2.spawn(x, y, lcd, pad);
coin3.spawn(x, y, lcd, pad);
coin4.spawn(x, y, lcd, pad);
+ coin5.spawn(x, y, lcd, pad);
+ coin6.spawn(x, y, lcd, pad);
+ coin7.spawn(x, y, lcd, pad);
+ coin8.spawn(x, y, lcd, pad);
+ coin9.spawn(x, y, lcd, pad);
+ coin10.spawn(x, y, lcd, pad);
+ coin11.spawn(x, y, lcd, pad);
+ coin12.spawn(x, y, lcd, pad);
+ coin13.spawn(x, y, lcd, pad);
+}
+
+void Game::win(N5110 &lcd){
+ if (coin == 1) {
+ lcd.clear();
+ lcd.printString("YOU",30,2);
+ lcd.printString("WIN",30,3);
+ lcd.printString(":)",30,3);
+ lcd.refresh();
+ wait(2);
+ }
}
void Game::damage(N5110 &lcd, Gamepad &pad){
int x = smiley.get_x_char();
int y = smiley.get_y_char();
- if (enemy1.collidePlayer(x, y, pad) == true || enemy2.collidePlayer(x, y, pad) == true ){
+ if (enemyA.collidePlayer(x, y, pad) == true ||enemy1.collidePlayer(x, y, pad) == true || enemy2.collidePlayer(x, y, pad) == true ){
_lives--;
wait(0.1);
}
}
-void Game::death(N5110 &lcd, Gamepad &pad){
+void Game::death(N5110 &lcd){
if (_lives == 0) {
lcd.clear();
- lcd.printString("PUT",30,2);
- lcd.printString("ON",30,3);
+ lcd.printString("PUT",30,1);
+ lcd.printString("ON",30,2);
lcd.printString("TIMEOUT",30,3);
- lcd.printString(":(",30,3);
+ lcd.printString(":(",30,4);
lcd.refresh();
- wait(1);
+ wait(2);
}
}
@@ -77,6 +124,10 @@
return _lives;
}
+int Game::get_coins() {
+ return coin;
+}
+
void Game::display_health(N5110 &lcd) {
char buffer[14];
sprintf(buffer,"%d",_lives);