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 Gamepad N5110 mbed-rtos
Enemy/Enemy.cpp@0:99fa5a619081, 2019-04-13 (annotated)
- Committer:
- RexRoshan
- Date:
- Sat Apr 13 01:13:53 2019 +0000
- Revision:
- 0:99fa5a619081
- Child:
- 4:4d673fb2d9dc
Mission 1 & 2 works perfectly
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| RexRoshan | 0:99fa5a619081 | 1 | #include "Enemy.h" |
| RexRoshan | 0:99fa5a619081 | 2 | |
| RexRoshan | 0:99fa5a619081 | 3 | // nothing doing in the constructor and destructor |
| RexRoshan | 0:99fa5a619081 | 4 | Enemy::Enemy() |
| RexRoshan | 0:99fa5a619081 | 5 | { |
| RexRoshan | 0:99fa5a619081 | 6 | |
| RexRoshan | 0:99fa5a619081 | 7 | } |
| RexRoshan | 0:99fa5a619081 | 8 | |
| RexRoshan | 0:99fa5a619081 | 9 | Enemy::~Enemy() |
| RexRoshan | 0:99fa5a619081 | 10 | { |
| RexRoshan | 0:99fa5a619081 | 11 | |
| RexRoshan | 0:99fa5a619081 | 12 | } |
| RexRoshan | 0:99fa5a619081 | 13 | |
| RexRoshan | 0:99fa5a619081 | 14 | int enemy1 [7][8] = { |
| RexRoshan | 0:99fa5a619081 | 15 | |
| RexRoshan | 0:99fa5a619081 | 16 | {0,1,1,0,0,0,0,1}, |
| RexRoshan | 0:99fa5a619081 | 17 | {0,0,0,1,1,1,1,1}, |
| RexRoshan | 0:99fa5a619081 | 18 | {0,0,1,0,0,1,1,0}, |
| RexRoshan | 0:99fa5a619081 | 19 | {0,1,0,0,1,1,1,0}, |
| RexRoshan | 0:99fa5a619081 | 20 | {0,0,1,0,0,1,1,0}, |
| RexRoshan | 0:99fa5a619081 | 21 | {0,0,0,1,1,1,1,1}, |
| RexRoshan | 0:99fa5a619081 | 22 | {0,1,1,0,0,0,0,1}, |
| RexRoshan | 0:99fa5a619081 | 23 | |
| RexRoshan | 0:99fa5a619081 | 24 | }; |
| RexRoshan | 0:99fa5a619081 | 25 | |
| RexRoshan | 0:99fa5a619081 | 26 | //int boss [13][13] = { |
| RexRoshan | 0:99fa5a619081 | 27 | |
| RexRoshan | 0:99fa5a619081 | 28 | //{0,0,0,0,0,1,1,1,1,1,0,0,0}, |
| RexRoshan | 0:99fa5a619081 | 29 | //{0,0,0,0,0,0,1,1,1,0,0,0,0}, |
| RexRoshan | 0:99fa5a619081 | 30 | //{0,0,1,1,1,1,1,1,1,1,1,1,1}, |
| RexRoshan | 0:99fa5a619081 | 31 | //{0,0,0,0,0,1,0,1,0,0,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 32 | //{0,0,0,0,1,0,1,0,1,0,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 33 | //{0,0,0,1,0,0,0,1,0,1,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 34 | //{1,1,1,1,0,1,0,1,0,1,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 35 | //{0,0,0,1,0,0,0,1,0,1,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 36 | //{0,0,0,0,1,0,1,0,1,0,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 37 | //{0,0,0,0,0,1,0,1,0,0,1,0,0}, |
| RexRoshan | 0:99fa5a619081 | 38 | //{0,0,1,1,1,1,1,1,1,1,1,1,1}, |
| RexRoshan | 0:99fa5a619081 | 39 | //{0,0,0,0,0,0,1,1,1,0,0,0,0}, |
| RexRoshan | 0:99fa5a619081 | 40 | //{0,0,0,0,0,1,1,1,1,1,0,0,0}, |
| RexRoshan | 0:99fa5a619081 | 41 | |
| RexRoshan | 0:99fa5a619081 | 42 | //}; |
| RexRoshan | 0:99fa5a619081 | 43 | |
| RexRoshan | 0:99fa5a619081 | 44 | |
| RexRoshan | 0:99fa5a619081 | 45 | |
| RexRoshan | 0:99fa5a619081 | 46 | void Enemy::init(int a,int b) |
| RexRoshan | 0:99fa5a619081 | 47 | { |
| RexRoshan | 0:99fa5a619081 | 48 | |
| RexRoshan | 0:99fa5a619081 | 49 | _a = a; |
| RexRoshan | 0:99fa5a619081 | 50 | _b = b; |
| RexRoshan | 0:99fa5a619081 | 51 | _health = 0; // start health from zero |
| RexRoshan | 0:99fa5a619081 | 52 | |
| RexRoshan | 0:99fa5a619081 | 53 | } |
| RexRoshan | 0:99fa5a619081 | 54 | |
| RexRoshan | 0:99fa5a619081 | 55 | void Enemy::enemy(N5110 &lcd) |
| RexRoshan | 0:99fa5a619081 | 56 | { |
| RexRoshan | 0:99fa5a619081 | 57 | |
| RexRoshan | 0:99fa5a619081 | 58 | // draw the first enemy |
| RexRoshan | 0:99fa5a619081 | 59 | lcd.drawSprite(_a,_b,7,8,(int *)enemy1); |
| RexRoshan | 0:99fa5a619081 | 60 | } |
| RexRoshan | 0:99fa5a619081 | 61 | |
| RexRoshan | 0:99fa5a619081 | 62 | void Enemy::update() |
| RexRoshan | 0:99fa5a619081 | 63 | { |
| RexRoshan | 0:99fa5a619081 | 64 | _speed = 2.0; // scale is arbitrary, could be changed in future |
| RexRoshan | 0:99fa5a619081 | 65 | |
| RexRoshan | 0:99fa5a619081 | 66 | // update y value depending on direction of movement |
| RexRoshan | 0:99fa5a619081 | 67 | // North is decrement as origin is at the top-left so decreasing moves up |
| RexRoshan | 0:99fa5a619081 | 68 | _b+=_speed; |
| RexRoshan | 0:99fa5a619081 | 69 | |
| RexRoshan | 0:99fa5a619081 | 70 | |
| RexRoshan | 0:99fa5a619081 | 71 | } |
| RexRoshan | 0:99fa5a619081 | 72 | void Enemy::add_health() |
| RexRoshan | 0:99fa5a619081 | 73 | { |
| RexRoshan | 0:99fa5a619081 | 74 | _health++; |
| RexRoshan | 0:99fa5a619081 | 75 | } |
| RexRoshan | 0:99fa5a619081 | 76 | int Enemy::get_health() |
| RexRoshan | 0:99fa5a619081 | 77 | { |
| RexRoshan | 0:99fa5a619081 | 78 | return _health; |
| RexRoshan | 0:99fa5a619081 | 79 | } |
| RexRoshan | 0:99fa5a619081 | 80 | |
| RexRoshan | 0:99fa5a619081 | 81 | |
| RexRoshan | 0:99fa5a619081 | 82 | Vector2D Enemy::get_enemy_pos() { |
| RexRoshan | 0:99fa5a619081 | 83 | Vector2D e = {_a,_b}; |
| RexRoshan | 0:99fa5a619081 | 84 | return e; |
| RexRoshan | 0:99fa5a619081 | 85 | } |