ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Tue Apr 09 18:46:14 2019 +0000
Revision:
27:e73dd64ef334
Moving enemies that will kill my character on contact and make him lose a life

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 27:e73dd64ef334 1 #include "Miner.h"
el17arm 27:e73dd64ef334 2
el17arm 27:e73dd64ef334 3 Miner::Miner()
el17arm 27:e73dd64ef334 4 {
el17arm 27:e73dd64ef334 5 }
el17arm 27:e73dd64ef334 6
el17arm 27:e73dd64ef334 7 Miner::~Miner()
el17arm 27:e73dd64ef334 8 {
el17arm 27:e73dd64ef334 9 }
el17arm 27:e73dd64ef334 10
el17arm 27:e73dd64ef334 11 void Miner::miner_init(int x, int y)
el17arm 27:e73dd64ef334 12 {
el17arm 27:e73dd64ef334 13 _x = x;
el17arm 27:e73dd64ef334 14 _y = y;
el17arm 27:e73dd64ef334 15 }
el17arm 27:e73dd64ef334 16
el17arm 27:e73dd64ef334 17 Vector2D Miner::get_pos()
el17arm 27:e73dd64ef334 18 {
el17arm 27:e73dd64ef334 19 Vector2D p = {_x,_y};
el17arm 27:e73dd64ef334 20 return p;
el17arm 27:e73dd64ef334 21 }
el17arm 27:e73dd64ef334 22
el17arm 27:e73dd64ef334 23 void Miner::miner_draw(N5110 &lcd)
el17arm 27:e73dd64ef334 24 {
el17arm 27:e73dd64ef334 25 if (_direction == 1) {
el17arm 27:e73dd64ef334 26 lcd.drawSprite(_x,_y,8,3,(int *)miner_right);
el17arm 27:e73dd64ef334 27 }
el17arm 27:e73dd64ef334 28 if (_direction == 0) {
el17arm 27:e73dd64ef334 29 lcd.drawSprite(_x,_y,8,3,(int *)miner_left);
el17arm 27:e73dd64ef334 30 }
el17arm 27:e73dd64ef334 31
el17arm 27:e73dd64ef334 32 }
el17arm 27:e73dd64ef334 33 void Miner::miner_land(N5110 &lcd)
el17arm 27:e73dd64ef334 34 {
el17arm 27:e73dd64ef334 35 _jump = (lcd.getPixel(_x+4,_y+8) || lcd.getPixel(_x-1,_y+8));
el17arm 27:e73dd64ef334 36
el17arm 27:e73dd64ef334 37 _gravity = !lcd.getPixel(_x,_y+8) && !lcd.getPixel(_x+2, _y+8);
el17arm 27:e73dd64ef334 38 }
el17arm 27:e73dd64ef334 39
el17arm 27:e73dd64ef334 40 void Miner::miner_move(Direction d, N5110 &lcd)
el17arm 27:e73dd64ef334 41 {
el17arm 27:e73dd64ef334 42 if (d==E || d==NE) {
el17arm 27:e73dd64ef334 43 _x++;
el17arm 27:e73dd64ef334 44 _direction = 1; //chooses right facing sprite
el17arm 27:e73dd64ef334 45 }
el17arm 27:e73dd64ef334 46 if (d==W || d==NW) {
el17arm 27:e73dd64ef334 47 _x --;
el17arm 27:e73dd64ef334 48 _direction = 0; //chooses left facing sprite
el17arm 27:e73dd64ef334 49 }
el17arm 27:e73dd64ef334 50 if(_x > 81){
el17arm 27:e73dd64ef334 51 _x=WIDTH-3;
el17arm 27:e73dd64ef334 52 }
el17arm 27:e73dd64ef334 53 if(_x < 0){
el17arm 27:e73dd64ef334 54 _x=0;
el17arm 27:e73dd64ef334 55 }
el17arm 27:e73dd64ef334 56 }
el17arm 27:e73dd64ef334 57
el17arm 27:e73dd64ef334 58 void Miner::miner_jump(N5110 &lcd, Gamepad &pad)
el17arm 27:e73dd64ef334 59 {
el17arm 27:e73dd64ef334 60 if(pad.check_event(Gamepad::A_PRESSED) && _jump==1) {
el17arm 27:e73dd64ef334 61 _y-=8;
el17arm 27:e73dd64ef334 62 pad.tone(750,0.1);
el17arm 27:e73dd64ef334 63 }
el17arm 27:e73dd64ef334 64 }
el17arm 27:e73dd64ef334 65
el17arm 27:e73dd64ef334 66 void Miner::miner_gravity(N5110 &lcd)
el17arm 27:e73dd64ef334 67 {
el17arm 27:e73dd64ef334 68 if(_gravity == 1) {
el17arm 27:e73dd64ef334 69 _y = _y + 1;
el17arm 27:e73dd64ef334 70 }
el17arm 27:e73dd64ef334 71 }