ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Revision:
17:b4079bd0e551
Parent:
16:8384e9a480ef
Child:
18:ff0a53dcb862
diff -r 8384e9a480ef -r b4079bd0e551 Levelengine.cpp
--- a/Levelengine.cpp	Sat Mar 30 02:16:28 2019 +0000
+++ b/Levelengine.cpp	Mon Apr 01 14:59:18 2019 +0000
@@ -2,6 +2,11 @@
 
 Levelengine::Levelengine()
 {
+    key_collect1 = false;
+    key_collect2 = false;
+    key_collect3 = false;
+    key_collect4 = false;
+    key_collect5 = false;
 }
 
 Levelengine::~Levelengine()
@@ -40,24 +45,70 @@
 {
     lcd.drawSprite(x,y,3,3,(int *)solid_block);
     lcd.drawSprite(x,y,3,3,(int *)solid_block);
-
 }
 
-void Levelengine::draw_key(int x, int y, N5110 &lcd)
+void Levelengine::draw_key1(int x, int y, N5110 &lcd)
 {
-    printf(" k = %i \n", _k);
-
-    if(lcd.getPixel(x+2,y+3) == 0 && _k == 0) {
+    if(key_collect1 == false) {
         lcd.drawSprite(x,y,3,4,(int *)key);
     }
-    if(_k==1) {
-        for(int i = 0; i < 4; i++) {
+    if(lcd.getPixel(x-1,y+2)&& key_collect1 == false) {
+        key_collect1 = true;
+        _keys++;
+        lcd.drawSprite(x,y,3,4,(int *)key_collected);
+    }
+}
 
-            lcd.setPixel(x+i, y, false);
-            lcd.setPixel(x+i, y+1, false);
-            lcd.setPixel(x+i, y+2, false);
-        }
+void Levelengine::draw_key2(int x, int y, N5110 &lcd)
+{
+    if(key_collect2 == false) {
+        lcd.drawSprite(x,y,3,4,(int *)key);
+    }
+    if(lcd.getPixel(x-1,y+2)&& key_collect2 == false) {
+        key_collect2 = true;
+        _keys++;
+        lcd.drawSprite(x,y,3,4,(int *)key_collected);
     }
 }
 
+void Levelengine::draw_key3(int x, int y, N5110 &lcd)
+{
+    if(key_collect3 == false) {
+        lcd.drawSprite(x,y,3,4,(int *)key);
+    }
+    if(lcd.getPixel(x-1,y+2)&& key_collect3 == false) {
+        key_collect3 = true;
+        _keys++;
+        lcd.drawSprite(x,y,3,4,(int *)key_collected);
+    }
+}
 
+void Levelengine::draw_key4(int x, int y, N5110 &lcd)
+{
+    if(key_collect4 == false) {
+        lcd.drawSprite(x,y,3,4,(int *)key);
+    }
+    if(lcd.getPixel(x-1,y+2)&& key_collect4 == false) {
+        key_collect4 = true;
+        _keys++;
+        lcd.drawSprite(x,y,3,4,(int *)key_collected);
+    }
+}
+
+void Levelengine::draw_key5(int x, int y, N5110 &lcd)
+{
+    if(key_collect5 == false) {
+        lcd.drawSprite(x,y,3,4,(int *)key);
+    }
+    if(lcd.getPixel(x-1,y+2)&& key_collect5 == false) {
+        key_collect5 = true;
+        _keys++;
+        lcd.drawSprite(x,y,3,4,(int *)key_collected);
+    }
+}
+
+int Levelengine::keys_collected()
+{
+    int k = _keys;
+    return k;
+}