ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Thu Mar 21 21:29:11 2019 +0000
Revision:
4:b92da6a09c8b
Parent:
3:d27ee2440829
Child:
6:866281ce2b44
committing as attempting to create a level larger than the playing screen to see how feasible this might be

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 0:fe19852199d2 1 #include "Minerengine.h"
el17arm 0:fe19852199d2 2
el17arm 0:fe19852199d2 3 Minerengine::Minerengine()
el17arm 2:725c213b2396 4
el17arm 0:fe19852199d2 5 {
el17arm 3:d27ee2440829 6 _x = 3;
el17arm 2:725c213b2396 7 _y = 33;
el17arm 0:fe19852199d2 8 }
el17arm 0:fe19852199d2 9
el17arm 1:813ba5341985 10 Minerengine::~Minerengine()
el17arm 0:fe19852199d2 11 {
el17arm 1:813ba5341985 12 }
el17arm 0:fe19852199d2 13
el17arm 1:813ba5341985 14 void Minerengine::read_direction(Gamepad &pad)
el17arm 1:813ba5341985 15 {
el17arm 1:813ba5341985 16 _d = pad.get_direction();
el17arm 1:813ba5341985 17 printf("direction %i \n", _d);
el17arm 1:813ba5341985 18 }
el17arm 0:fe19852199d2 19
el17arm 3:d27ee2440829 20 void Minerengine::miner_move(N5110 &lcd, Gamepad &pad)
el17arm 1:813ba5341985 21 {
el17arm 4:b92da6a09c8b 22
el17arm 3:d27ee2440829 23 if (_d==3 && !lcd.getPixel(_x + 5, _y)) {
el17arm 4:b92da6a09c8b 24 _x += 1;
el17arm 1:813ba5341985 25 _direction = 1;
el17arm 0:fe19852199d2 26 }
el17arm 3:d27ee2440829 27 if (_d==7 && !lcd.getPixel(_x -1, _y)) {
el17arm 1:813ba5341985 28 _x = _x - 1;
el17arm 1:813ba5341985 29 _direction = 0;
el17arm 4:b92da6a09c8b 30
el17arm 1:813ba5341985 31 }
el17arm 1:813ba5341985 32 }
el17arm 1:813ba5341985 33 void Minerengine::miner_jump(N5110 &lcd, Gamepad &pad)
el17arm 1:813ba5341985 34 {
el17arm 1:813ba5341985 35 if(_d==3 && pad.check_event(Gamepad::A_PRESSED)) {
el17arm 2:725c213b2396 36 for (int i = 0; i < 6; i++) {
el17arm 1:813ba5341985 37 _y = _y -1;
el17arm 4:b92da6a09c8b 38
el17arm 4:b92da6a09c8b 39 if(lcd.getPixel(_x + 5, _y)) {
el17arm 3:d27ee2440829 40 i = 6;
el17arm 3:d27ee2440829 41 }
el17arm 1:813ba5341985 42 }
el17arm 0:fe19852199d2 43 }
el17arm 2:725c213b2396 44 if(_d==7 && pad.check_event(Gamepad::A_PRESSED)) {
el17arm 2:725c213b2396 45 for (int i = 0; i < 6; i++) {
el17arm 1:813ba5341985 46 _y = _y -1;
el17arm 4:b92da6a09c8b 47
el17arm 4:b92da6a09c8b 48 if(lcd.getPixel(_x + 5, _y)) {
el17arm 3:d27ee2440829 49 i = 6;
el17arm 3:d27ee2440829 50 }
el17arm 2:725c213b2396 51 }
el17arm 4:b92da6a09c8b 52 }
el17arm 2:725c213b2396 53 if(_d==0 && pad.check_event(Gamepad::A_PRESSED)) {
el17arm 2:725c213b2396 54 for (int i = 0; i < 6; i++) {
el17arm 2:725c213b2396 55 _y = _y -1;
el17arm 4:b92da6a09c8b 56 if(lcd.getPixel(_x + 5, _y)) {
el17arm 3:d27ee2440829 57 i = 6;
el17arm 3:d27ee2440829 58 }
el17arm 1:813ba5341985 59 }
el17arm 1:813ba5341985 60 }
el17arm 1:813ba5341985 61 }
el17arm 0:fe19852199d2 62
el17arm 1:813ba5341985 63 void Minerengine::miner_draw(N5110 &lcd)
el17arm 1:813ba5341985 64 {
el17arm 2:725c213b2396 65 if (_direction == 1) {
el17arm 2:725c213b2396 66 lcd.drawSprite(_x,_y,12,5,(int *)miner_right);
el17arm 1:813ba5341985 67 }
el17arm 2:725c213b2396 68 if (_direction == 0) {
el17arm 2:725c213b2396 69 lcd.drawSprite(_x,_y,12,5,(int *)miner_left);
el17arm 0:fe19852199d2 70 }
el17arm 3:d27ee2440829 71 }
el17arm 3:d27ee2440829 72
el17arm 3:d27ee2440829 73 void Minerengine::miner_gravity(N5110 &lcd)
el17arm 3:d27ee2440829 74 {
el17arm 3:d27ee2440829 75 if(!lcd.getPixel(_x, _y + 12)) {
el17arm 3:d27ee2440829 76 _y = _y + 1;
el17arm 4:b92da6a09c8b 77 }
el17arm 0:fe19852199d2 78 }