ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Revision:
11:61f28e3448d3
Parent:
10:65a6866d418b
Child:
12:adf4ec04ced2
--- a/Minerengine.cpp	Wed Mar 27 21:51:11 2019 +0000
+++ b/Minerengine.cpp	Thu Mar 28 01:07:49 2019 +0000
@@ -23,24 +23,26 @@
 
 void Minerengine::miner_collision(N5110 &lcd)
 {
-    _right_collision = lcd.getPixel(_x+3,_y) + lcd.getPixel(_x+3,_y+3) +
+    /*_right_collision = lcd.getPixel(_x+3,_y) + lcd.getPixel(_x+3,_y+3) +
                        lcd.getPixel(_x+3,_y+5) + lcd.getPixel(_x+3,_y+7);
 
     _left_collision = lcd.getPixel(_x-1,_y) + lcd.getPixel(_x-1,_y+3) +
-                      lcd.getPixel(_x-1,_y+5) + lcd.getPixel(_x-1,_y+7);
+                      lcd.getPixel(_x-1,_y+5) + lcd.getPixel(_x-1,_y+7);*/
 
     _jump = (lcd.getPixel(_x+4,_y+8) || lcd.getPixel(_x-1,_y+8));
 
     _stop_jump = lcd.getPixel(_x,_y-2) || lcd.getPixel(_x+3,_y-2);
+    
+    _gravity = !lcd.getPixel(_x, _y + 8) && !lcd.getPixel(_x + 2, _y + 8);
 }
 
 void Minerengine::miner_move()
 {
-    if (_d==E && _right_collision == 0) {
+    if (_d==E && _x < WIDTH-3) {
         _x++;
         _direction = 1; //chooses right facing sprite
     }
-    if (_d==W && _left_collision == 0) {
+    if (_d==W && _x > 0) {
         _x--;
         _direction = 0; //chooses left facing sprite
     }
@@ -48,31 +50,11 @@
 
 void Minerengine::miner_jump(N5110 &lcd, Gamepad &pad)
 {
-    if(_d==3 && pad.check_event(Gamepad::A_PRESSED) && _jump==1) {
-        for (int i = 0; i < 6; i++) {
-            _y = _y -1;
-
-            if(_stop_jump == 1) {
-                i = 6;
-            }
-        }
-    }
-    if(_d==7 && pad.check_event(Gamepad::A_PRESSED) && _jump == 1) {
-        for (int i = 0; i < 6; i++) {
-            _y = _y -1;
-            
-            if(_stop_jump == 1) {
-                i = 6;
-            }
-        }
-    }
-    if(_d==0 && pad.check_event(Gamepad::A_PRESSED) && _jump == 1) {
-        for (int i = 0; i < 6; i++) {
-            _y = _y -1;
-            
-            if(_stop_jump == 1) {
-                i = 6;
-            }
+    if(pad.check_event(Gamepad::A_PRESSED) && _jump==1) {
+        int i=0;
+        while(i < 8){
+            _y = _y--;
+            i++; 
         }
     }
 }
@@ -89,7 +71,7 @@
 
 void Minerengine::miner_gravity(N5110 &lcd)
 {
-    if(!lcd.getPixel(_x, _y + 8) && !lcd.getPixel(_x + 3, _y + 8)) {
+    if(_gravity == 1) {
         _y = _y + 1;
     }
 }
\ No newline at end of file