Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Minerengine/Miner.cpp@27:e73dd64ef334, 2019-04-09 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |