ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

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