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
Enemy/Enemy1.cpp@22:8e38efeae0c9, 2019-05-09 (annotated)
- Committer:
- S_Tingle
- Date:
- Thu May 09 12:10:56 2019 +0000
- Revision:
- 22:8e38efeae0c9
- Parent:
- 21:7d4827af00d6
- Child:
- 26:3652bc2fe3fc
working
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| S_Tingle | 11:953141c3f7dd | 1 | #include "Enemy1.h" |
| S_Tingle | 11:953141c3f7dd | 2 | |
| S_Tingle | 22:8e38efeae0c9 | 3 | Enemy1::Enemy1() |
| S_Tingle | 22:8e38efeae0c9 | 4 | { |
| S_Tingle | 21:7d4827af00d6 | 5 | |
| S_Tingle | 11:953141c3f7dd | 6 | } |
| S_Tingle | 11:953141c3f7dd | 7 | |
| S_Tingle | 22:8e38efeae0c9 | 8 | Enemy1::~Enemy1() |
| S_Tingle | 22:8e38efeae0c9 | 9 | { |
| S_Tingle | 11:953141c3f7dd | 10 | |
| S_Tingle | 11:953141c3f7dd | 11 | } |
| S_Tingle | 11:953141c3f7dd | 12 | |
| S_Tingle | 22:8e38efeae0c9 | 13 | void Enemy1::init(int x, int y) |
| S_Tingle | 22:8e38efeae0c9 | 14 | { |
| S_Tingle | 22:8e38efeae0c9 | 15 | x_enem = x; |
| S_Tingle | 22:8e38efeae0c9 | 16 | y_enem = y; |
| S_Tingle | 11:953141c3f7dd | 17 | } |
| S_Tingle | 11:953141c3f7dd | 18 | |
| S_Tingle | 22:8e38efeae0c9 | 19 | int Enemy1::get_x_enem() |
| S_Tingle | 22:8e38efeae0c9 | 20 | { |
| S_Tingle | 22:8e38efeae0c9 | 21 | return x_enem; |
| S_Tingle | 11:953141c3f7dd | 22 | } |
| S_Tingle | 11:953141c3f7dd | 23 | |
| S_Tingle | 22:8e38efeae0c9 | 24 | int Enemy1::get_y_enem() |
| S_Tingle | 22:8e38efeae0c9 | 25 | { |
| S_Tingle | 22:8e38efeae0c9 | 26 | return y_enem; |
| S_Tingle | 21:7d4827af00d6 | 27 | } |
| S_Tingle | 21:7d4827af00d6 | 28 | |
| S_Tingle | 22:8e38efeae0c9 | 29 | void Enemy1::drawSpriteA(N5110 &lcd) |
| S_Tingle | 22:8e38efeae0c9 | 30 | { |
| S_Tingle | 22:8e38efeae0c9 | 31 | lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_A); |
| S_Tingle | 21:7d4827af00d6 | 32 | } |
| S_Tingle | 21:7d4827af00d6 | 33 | |
| S_Tingle | 22:8e38efeae0c9 | 34 | void Enemy1::drawSprite1(N5110 &lcd) |
| S_Tingle | 22:8e38efeae0c9 | 35 | { |
| S_Tingle | 22:8e38efeae0c9 | 36 | lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_1); |
| S_Tingle | 11:953141c3f7dd | 37 | } |
| S_Tingle | 11:953141c3f7dd | 38 | |
| S_Tingle | 22:8e38efeae0c9 | 39 | void Enemy1::movementA(N5110 &lcd) |
| S_Tingle | 22:8e38efeae0c9 | 40 | { |
| S_Tingle | 22:8e38efeae0c9 | 41 | // incrementer increments 1 for every pixel enemyA needs to move // |
| S_Tingle | 22:8e38efeae0c9 | 42 | // and thus it's possible to create a square path // |
| S_Tingle | 22:8e38efeae0c9 | 43 | accel = 1; |
| S_Tingle | 22:8e38efeae0c9 | 44 | _incrementer_enem1++; |
| S_Tingle | 22:8e38efeae0c9 | 45 | if ( _incrementer_enem1 == 54 ) { |
| S_Tingle | 22:8e38efeae0c9 | 46 | _incrementer_enem1 = 0; |
| S_Tingle | 22:8e38efeae0c9 | 47 | } |
| S_Tingle | 22:8e38efeae0c9 | 48 | if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 21) { |
| S_Tingle | 22:8e38efeae0c9 | 49 | x_enem++; |
| S_Tingle | 22:8e38efeae0c9 | 50 | } else if (_incrementer_enem1 >= 22 && _incrementer_enem1 <= 26) { |
| S_Tingle | 22:8e38efeae0c9 | 51 | y_enem++; |
| S_Tingle | 22:8e38efeae0c9 | 52 | } else if (_incrementer_enem1 >= 27 && _incrementer_enem1 <= 48) { |
| S_Tingle | 22:8e38efeae0c9 | 53 | x_enem--; |
| S_Tingle | 22:8e38efeae0c9 | 54 | } else if (_incrementer_enem1 >= 49 && _incrementer_enem1 <= 53) { |
| S_Tingle | 22:8e38efeae0c9 | 55 | y_enem--; |
| S_Tingle | 22:8e38efeae0c9 | 56 | } |
| S_Tingle | 11:953141c3f7dd | 57 | } |
| S_Tingle | 11:953141c3f7dd | 58 | |
| S_Tingle | 22:8e38efeae0c9 | 59 | void Enemy1::movement1(N5110 &lcd) |
| S_Tingle | 22:8e38efeae0c9 | 60 | { |
| S_Tingle | 22:8e38efeae0c9 | 61 | // incrementer increments 1 for every pixel enemy1 needs to move |
| S_Tingle | 22:8e38efeae0c9 | 62 | // and thus it's possible to create a square path // |
| S_Tingle | 22:8e38efeae0c9 | 63 | accel = 1; |
| S_Tingle | 22:8e38efeae0c9 | 64 | _incrementer_enem1++; |
| S_Tingle | 22:8e38efeae0c9 | 65 | if ( _incrementer_enem1 == 124 ) { |
| S_Tingle | 22:8e38efeae0c9 | 66 | _incrementer_enem1 = 0; |
| S_Tingle | 22:8e38efeae0c9 | 67 | } |
| S_Tingle | 22:8e38efeae0c9 | 68 | if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 22) { |
| S_Tingle | 22:8e38efeae0c9 | 69 | y_enem--; |
| S_Tingle | 22:8e38efeae0c9 | 70 | } else if (_incrementer_enem1 >= 23 && _incrementer_enem1 <= 61) { |
| S_Tingle | 22:8e38efeae0c9 | 71 | x_enem--; |
| S_Tingle | 22:8e38efeae0c9 | 72 | } else if (_incrementer_enem1 >= 62 && _incrementer_enem1 <= 84) { |
| S_Tingle | 22:8e38efeae0c9 | 73 | y_enem++; |
| S_Tingle | 22:8e38efeae0c9 | 74 | } else if (_incrementer_enem1 >= 84 && _incrementer_enem1 <= 123) { |
| S_Tingle | 22:8e38efeae0c9 | 75 | x_enem++; |
| S_Tingle | 22:8e38efeae0c9 | 76 | } |
| S_Tingle | 11:953141c3f7dd | 77 | } |
| S_Tingle | 11:953141c3f7dd | 78 | |
| S_Tingle | 22:8e38efeae0c9 | 79 | bool Enemy1::collidePlayer(int x, int y, Gamepad &pad) |
| S_Tingle | 22:8e38efeae0c9 | 80 | { |
| S_Tingle | 22:8e38efeae0c9 | 81 | // if collision detected then tone plays // |
| S_Tingle | 22:8e38efeae0c9 | 82 | for (int ix = 0; ix < 7; ix++) { |
| S_Tingle | 22:8e38efeae0c9 | 83 | for (int iy = 0; iy < 7; iy++) { |
| S_Tingle | 22:8e38efeae0c9 | 84 | if ( x + ix == x_enem + 3 && y + iy == y_enem + 3 ) { |
| S_Tingle | 22:8e38efeae0c9 | 85 | pad.tone(400,0.5); |
| S_Tingle | 22:8e38efeae0c9 | 86 | return true; |
| S_Tingle | 22:8e38efeae0c9 | 87 | } |
| S_Tingle | 22:8e38efeae0c9 | 88 | } |
| S_Tingle | 22:8e38efeae0c9 | 89 | } |
| S_Tingle | 22:8e38efeae0c9 | 90 | return false; |
| S_Tingle | 11:953141c3f7dd | 91 | } |