ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Thu Mar 28 22:30:56 2019 +0000
Revision:
12:adf4ec04ced2
Parent:
11:61f28e3448d3
Child:
13:3bf02cb26d6d
not ideal but made x & y coords global. ; ; This is because in levelengine I am getting p.x = 0 and is not updating in line with p.x in minerengine. This is holding me back so will proceed as above and will hopefully fix at later date

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 0:fe19852199d2 1 #include "Minerengine.h"
el17arm 0:fe19852199d2 2
el17arm 12:adf4ec04ced2 3 int _x;
el17arm 12:adf4ec04ced2 4 int _y;
el17arm 7:c6e6ec0e3396 5
el17arm 0:fe19852199d2 6 Minerengine::Minerengine()
el17arm 0:fe19852199d2 7 {
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 8:9bc80e40ac0d 14 void Minerengine::miner_init()
el17arm 7:c6e6ec0e3396 15 {
el17arm 7:c6e6ec0e3396 16 _x = 3;
el17arm 7:c6e6ec0e3396 17 _y = 33;
el17arm 7:c6e6ec0e3396 18 }
el17arm 8:9bc80e40ac0d 19
el17arm 12:adf4ec04ced2 20 Vector2D Minerengine::get_pos()
el17arm 12:adf4ec04ced2 21 {
el17arm 12:adf4ec04ced2 22 Vector2D p = {_x,_y};
el17arm 12:adf4ec04ced2 23 printf("p.x = %f \n", p.x);
el17arm 12:adf4ec04ced2 24 return p;
el17arm 12:adf4ec04ced2 25 }
el17arm 7:c6e6ec0e3396 26
el17arm 1:813ba5341985 27 void Minerengine::read_direction(Gamepad &pad)
el17arm 1:813ba5341985 28 {
el17arm 1:813ba5341985 29 _d = pad.get_direction();
el17arm 9:f16581e1eba9 30 }
el17arm 9:f16581e1eba9 31
el17arm 9:f16581e1eba9 32 void Minerengine::miner_collision(N5110 &lcd)
el17arm 9:f16581e1eba9 33 {
el17arm 11:61f28e3448d3 34 /*_right_collision = lcd.getPixel(_x+3,_y) + lcd.getPixel(_x+3,_y+3) +
el17arm 10:65a6866d418b 35 lcd.getPixel(_x+3,_y+5) + lcd.getPixel(_x+3,_y+7);
el17arm 10:65a6866d418b 36
el17arm 10:65a6866d418b 37 _left_collision = lcd.getPixel(_x-1,_y) + lcd.getPixel(_x-1,_y+3) +
el17arm 11:61f28e3448d3 38 lcd.getPixel(_x-1,_y+5) + lcd.getPixel(_x-1,_y+7);*/
el17arm 10:65a6866d418b 39
el17arm 10:65a6866d418b 40 _jump = (lcd.getPixel(_x+4,_y+8) || lcd.getPixel(_x-1,_y+8));
el17arm 10:65a6866d418b 41
el17arm 10:65a6866d418b 42 _stop_jump = lcd.getPixel(_x,_y-2) || lcd.getPixel(_x+3,_y-2);
el17arm 11:61f28e3448d3 43
el17arm 12:adf4ec04ced2 44 _gravity = !lcd.getPixel(_x,_y+8) && !lcd.getPixel(_x+2, _y+8);
el17arm 1:813ba5341985 45 }
el17arm 0:fe19852199d2 46
el17arm 10:65a6866d418b 47 void Minerengine::miner_move()
el17arm 1:813ba5341985 48 {
el17arm 11:61f28e3448d3 49 if (_d==E && _x < WIDTH-3) {
el17arm 9:f16581e1eba9 50 _x++;
el17arm 10:65a6866d418b 51 _direction = 1; //chooses right facing sprite
el17arm 0:fe19852199d2 52 }
el17arm 11:61f28e3448d3 53 if (_d==W && _x > 0) {
el17arm 9:f16581e1eba9 54 _x--;
el17arm 10:65a6866d418b 55 _direction = 0; //chooses left facing sprite
el17arm 1:813ba5341985 56 }
el17arm 1:813ba5341985 57 }
el17arm 6:866281ce2b44 58
el17arm 1:813ba5341985 59 void Minerengine::miner_jump(N5110 &lcd, Gamepad &pad)
el17arm 1:813ba5341985 60 {
el17arm 11:61f28e3448d3 61 if(pad.check_event(Gamepad::A_PRESSED) && _jump==1) {
el17arm 11:61f28e3448d3 62 int i=0;
el17arm 11:61f28e3448d3 63 while(i < 8){
el17arm 11:61f28e3448d3 64 _y = _y--;
el17arm 11:61f28e3448d3 65 i++;
el17arm 1:813ba5341985 66 }
el17arm 1:813ba5341985 67 }
el17arm 1:813ba5341985 68 }
el17arm 0:fe19852199d2 69
el17arm 1:813ba5341985 70 void Minerengine::miner_draw(N5110 &lcd)
el17arm 1:813ba5341985 71 {
el17arm 2:725c213b2396 72 if (_direction == 1) {
el17arm 6:866281ce2b44 73 lcd.drawSprite(_x,_y,8,3,(int *)miner_right);
el17arm 1:813ba5341985 74 }
el17arm 2:725c213b2396 75 if (_direction == 0) {
el17arm 6:866281ce2b44 76 lcd.drawSprite(_x,_y,8,3,(int *)miner_left);
el17arm 0:fe19852199d2 77 }
el17arm 3:d27ee2440829 78 }
el17arm 3:d27ee2440829 79
el17arm 3:d27ee2440829 80 void Minerengine::miner_gravity(N5110 &lcd)
el17arm 3:d27ee2440829 81 {
el17arm 11:61f28e3448d3 82 if(_gravity == 1) {
el17arm 3:d27ee2440829 83 _y = _y + 1;
el17arm 4:b92da6a09c8b 84 }
el17arm 12:adf4ec04ced2 85 }
el17arm 12:adf4ec04ced2 86
el17arm 12:adf4ec04ced2 87 int Minerengine::test()
el17arm 12:adf4ec04ced2 88 {
el17arm 12:adf4ec04ced2 89 int t = _x;
el17arm 12:adf4ec04ced2 90 printf("t = %i \n", t);
el17arm 12:adf4ec04ced2 91 return t;
el17arm 7:c6e6ec0e3396 92 }