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: Levelengine.cpp
- 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;
+}