ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Fri Mar 29 00:30:03 2019 +0000
Revision:
14:dc3524d11921
Parent:
13:3bf02cb26d6d
Child:
15:2bda80896a84
version not using global variables, still doesnt transfer updated values of function

Who changed what in which revision?

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