ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Thu Mar 28 22:32:09 2019 +0000
Revision:
13:3bf02cb26d6d
Parent:
12:adf4ec04ced2
Child:
14:dc3524d11921
see previous revision note

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 7:c6e6ec0e3396 85 }