ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Revision:
6:866281ce2b44
Parent:
4:b92da6a09c8b
Child:
7:c6e6ec0e3396
diff -r b92da6a09c8b -r 866281ce2b44 Minerengine.cpp
--- a/Minerengine.cpp	Thu Mar 21 21:29:11 2019 +0000
+++ b/Minerengine.cpp	Fri Mar 22 02:00:48 2019 +0000
@@ -19,41 +19,48 @@
 
 void Minerengine::miner_move(N5110 &lcd, Gamepad &pad)
 {
-    
-    if (_d==3 && !lcd.getPixel(_x + 5, _y)) {
+
+    if (_d==3 && !lcd.getPixel(_x + 3, _y+1) && !lcd.getPixel(_x + 3, _y + 3) &&
+            !lcd.getPixel(_x + 3, _y + 5) && !lcd.getPixel(_x + 3, _y + 7)) {
+
         _x += 1;
         _direction = 1;
     }
-    if (_d==7 && !lcd.getPixel(_x -1, _y)) {
+    if (_d==7 && !lcd.getPixel(_x - 1, _y+1) && !lcd.getPixel(_x - 1, _y + 3) &&
+            !lcd.getPixel(_x - 1, _y + 5)&& !lcd.getPixel(_x + 3, _y + 7)) {
+
         _x = _x - 1;
         _direction = 0;
-        
     }
 }
+
 void Minerengine::miner_jump(N5110 &lcd, Gamepad &pad)
 {
-    if(_d==3 && pad.check_event(Gamepad::A_PRESSED)) {
+    if(_d==3 && pad.check_event(Gamepad::A_PRESSED) && lcd.getPixel(_x, _y + 8)) {
         for (int i = 0; i < 6; i++) {
             _y = _y -1;
 
-            if(lcd.getPixel(_x + 5, _y)) {
+            if(lcd.getPixel(_x, _y) || lcd.getPixel(_x, _y + 7) || 
+            lcd.getPixel(_x + 3, _y + 7)) {
                 i = 6;
             }
         }
     }
-    if(_d==7 && pad.check_event(Gamepad::A_PRESSED)) {
+    if(_d==7 && pad.check_event(Gamepad::A_PRESSED) && lcd.getPixel(_x, _y + 8)) {
         for (int i = 0; i < 6; i++) {
             _y = _y -1;
-            
-            if(lcd.getPixel(_x + 5, _y)) {
+
+            if(lcd.getPixel(_x, _y) || lcd.getPixel(_x+2, _y + 7) || 
+            lcd.getPixel(_x, _y + 7)) {
                 i = 6;
             }
         }
     }
-    if(_d==0 && pad.check_event(Gamepad::A_PRESSED)) {
+    if(_d==0 && pad.check_event(Gamepad::A_PRESSED) && lcd.getPixel(_x, _y + 8)) {
         for (int i = 0; i < 6; i++) {
             _y = _y -1;
-            if(lcd.getPixel(_x + 5, _y)) {
+            if(lcd.getPixel(_x, _y) || lcd.getPixel(_x + 2, _y + 7)
+            || lcd.getPixel(_x, _y + 7)) {
                 i = 6;
             }
         }
@@ -63,16 +70,16 @@
 void Minerengine::miner_draw(N5110 &lcd)
 {
     if (_direction == 1) {
-        lcd.drawSprite(_x,_y,12,5,(int *)miner_right);
+        lcd.drawSprite(_x,_y,8,3,(int *)miner_right);
     }
     if (_direction == 0) {
-        lcd.drawSprite(_x,_y,12,5,(int *)miner_left);
+        lcd.drawSprite(_x,_y,8,3,(int *)miner_left);
     }
 }
 
 void Minerengine::miner_gravity(N5110 &lcd)
 {
-    if(!lcd.getPixel(_x, _y + 12)) {
+    if(!lcd.getPixel(_x, _y + 8)) {
         _y = _y + 1;
     }
-}
\ No newline at end of file
+}