ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Revision:
58:4a826093d9e9
Parent:
57:0f3bbbac72fd
Child:
60:3df033345059
diff -r 0f3bbbac72fd -r 4a826093d9e9 Gameengine/Gameengine.cpp
--- a/Gameengine/Gameengine.cpp	Wed Apr 24 20:56:36 2019 +0000
+++ b/Gameengine/Gameengine.cpp	Tue May 07 00:30:46 2019 +0000
@@ -13,7 +13,7 @@
     _key_reinit = false;    // re initialise keys at start of new level
     _five_keys = 5;         // number of keys to advance to next level   
     _level = 0;              //start level
-    _sprites.miner_init(3, 33); //start position of player
+    _sprites.miner_init(3, 38); //start position of player
     _lives = 3;             // starting lives
     _time = 120;            // time to complete each level
 }
@@ -69,7 +69,7 @@
 void Gameengine::draw_l3(N5110 &lcd, Gamepad &pad)
 {
     if(_level == 2) {
-
+        
         _t.start();
         key_reinit();
         _lev.level_platforms3(lcd);
@@ -79,6 +79,22 @@
         _lev.soft_pos3();
         _lev.enem_pos3();
         blocks(lcd);
+    }
+}
+
+void Gameengine::draw_l4(N5110 &lcd, Gamepad &pad)
+{
+    if(_level == 3) {
+        
+        _t.start();
+        key_reinit();
+        _lev.level_platforms4(lcd);
+        _lev.key_pos4();
+        _lev.trap_pos4();
+        _lev.block_pos4();
+        _lev.soft_pos4();
+        _lev.enem_pos4();
+        blocks(lcd);
         game_complete(lcd);     // displays game complete screen
     }
 }
@@ -89,7 +105,7 @@
     _d = pad.get_direction();
 }
 
-// turns off LEDS proportionally Vs level time
+// turns off LEDS proportionally Vs time left to complete level
 int Gameengine::oxygen_leds()
 {
     if(_t.read() < (_time*0.33f)) {
@@ -122,13 +138,13 @@
     int int_score = static_cast<int>(flt_score);
     char buffer[14];
     sprintf(buffer,"%2d",int_score);
-    lcd.printString(buffer,52,2);
+    lcd.printString(buffer,54,2);
 }
 
 // returns true final level complete
 bool Gameengine::game_complete(N5110 &lcd)
 {
-    if(_level == 3) {
+    if(_level == 4) {
         return true;
     }
     return false;
@@ -253,8 +269,8 @@
 {
     if(_key_reinit == false) {
         for(int i = 0; i<5; i++) {
-            _sprites._k.key[i] = false;
-            _key_reinit = true;
+            _sprites._key[i] = false;
         }
+        _key_reinit = true;
     }
 }
\ No newline at end of file