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
Bullet/Bullet.cpp@100:b0e9c067d80a, 2019-05-05 (annotated)
- Committer:
- fy14lkaa
- Date:
- Sun May 05 13:05:57 2019 +0000
- Revision:
- 100:b0e9c067d80a
- Child:
- 126:c63c5ad39f73
change file's name of bullet.cpp to Bullet.cpp
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| fy14lkaa | 100:b0e9c067d80a | 1 | #include "Bullet.h" |
| fy14lkaa | 100:b0e9c067d80a | 2 | |
| fy14lkaa | 100:b0e9c067d80a | 3 | |
| fy14lkaa | 100:b0e9c067d80a | 4 | bullet::bullet() |
| fy14lkaa | 100:b0e9c067d80a | 5 | { |
| fy14lkaa | 100:b0e9c067d80a | 6 | |
| fy14lkaa | 100:b0e9c067d80a | 7 | } |
| fy14lkaa | 100:b0e9c067d80a | 8 | |
| fy14lkaa | 100:b0e9c067d80a | 9 | bullet::~bullet() |
| fy14lkaa | 100:b0e9c067d80a | 10 | { |
| fy14lkaa | 100:b0e9c067d80a | 11 | |
| fy14lkaa | 100:b0e9c067d80a | 12 | } |
| fy14lkaa | 100:b0e9c067d80a | 13 | |
| fy14lkaa | 100:b0e9c067d80a | 14 | |
| fy14lkaa | 100:b0e9c067d80a | 15 | |
| fy14lkaa | 100:b0e9c067d80a | 16 | const int bullet[4][10] = { |
| fy14lkaa | 100:b0e9c067d80a | 17 | { 0,0,0,0,0,1,1,1,0,0 }, |
| fy14lkaa | 100:b0e9c067d80a | 18 | { 0,0,0,0,0,1,1,1,0,0 }, |
| fy14lkaa | 100:b0e9c067d80a | 19 | { 0,0,0,1,1,1,1,0,0,0 }, |
| fy14lkaa | 100:b0e9c067d80a | 20 | { 0,0,1,1,1,1,0,1,0,0 }, |
| fy14lkaa | 100:b0e9c067d80a | 21 | }; |
| fy14lkaa | 100:b0e9c067d80a | 22 | |
| fy14lkaa | 100:b0e9c067d80a | 23 | |
| fy14lkaa | 100:b0e9c067d80a | 24 | |
| fy14lkaa | 100:b0e9c067d80a | 25 | |
| fy14lkaa | 100:b0e9c067d80a | 26 | void bullet::init(int size,int speed) |
| fy14lkaa | 100:b0e9c067d80a | 27 | { |
| fy14lkaa | 100:b0e9c067d80a | 28 | |
| fy14lkaa | 100:b0e9c067d80a | 29 | |
| fy14lkaa | 100:b0e9c067d80a | 30 | srand(time(NULL)); |
| fy14lkaa | 100:b0e9c067d80a | 31 | int direction = rand() % 4; // randomise initial direction. |
| fy14lkaa | 100:b0e9c067d80a | 32 | |
| fy14lkaa | 100:b0e9c067d80a | 33 | // 4 possibilities. Get random modulo and set velocities accordingly |
| fy14lkaa | 100:b0e9c067d80a | 34 | if (direction == 0) { |
| fy14lkaa | 100:b0e9c067d80a | 35 | _velocity.x = speed; |
| fy14lkaa | 100:b0e9c067d80a | 36 | _velocity.y = speed; |
| fy14lkaa | 100:b0e9c067d80a | 37 | } else if (direction == 1) { |
| fy14lkaa | 100:b0e9c067d80a | 38 | _velocity.x = speed; |
| fy14lkaa | 100:b0e9c067d80a | 39 | _velocity.y = -speed; |
| fy14lkaa | 100:b0e9c067d80a | 40 | } else if (direction == 2) { |
| fy14lkaa | 100:b0e9c067d80a | 41 | _velocity.x = speed; |
| fy14lkaa | 100:b0e9c067d80a | 42 | _velocity.y = speed; |
| fy14lkaa | 100:b0e9c067d80a | 43 | } else { |
| fy14lkaa | 100:b0e9c067d80a | 44 | _velocity.x = -speed; |
| fy14lkaa | 100:b0e9c067d80a | 45 | _velocity.y = -speed; |
| fy14lkaa | 100:b0e9c067d80a | 46 | } |
| fy14lkaa | 100:b0e9c067d80a | 47 | |
| fy14lkaa | 100:b0e9c067d80a | 48 | |
| fy14lkaa | 100:b0e9c067d80a | 49 | |
| fy14lkaa | 100:b0e9c067d80a | 50 | } |
| fy14lkaa | 100:b0e9c067d80a | 51 | |
| fy14lkaa | 100:b0e9c067d80a | 52 | |
| fy14lkaa | 100:b0e9c067d80a | 53 | void bullet::draw(N5110 &lcd) |
| fy14lkaa | 100:b0e9c067d80a | 54 | { |
| fy14lkaa | 100:b0e9c067d80a | 55 | lcd.drawSprite(x_bullet,y_bullet,4,10,(int *)bullet); |
| fy14lkaa | 100:b0e9c067d80a | 56 | |
| fy14lkaa | 100:b0e9c067d80a | 57 | } |
| fy14lkaa | 100:b0e9c067d80a | 58 | |
| fy14lkaa | 100:b0e9c067d80a | 59 | void bullet::update() |
| fy14lkaa | 100:b0e9c067d80a | 60 | { |
| fy14lkaa | 100:b0e9c067d80a | 61 | _x += _velocity.x; |
| fy14lkaa | 100:b0e9c067d80a | 62 | _y += _velocity.y; |
| fy14lkaa | 100:b0e9c067d80a | 63 | } |
| fy14lkaa | 100:b0e9c067d80a | 64 | |
| fy14lkaa | 100:b0e9c067d80a | 65 | |
| fy14lkaa | 100:b0e9c067d80a | 66 | void bullet::set_velocity(Vector2D v) |
| fy14lkaa | 100:b0e9c067d80a | 67 | { |
| fy14lkaa | 100:b0e9c067d80a | 68 | _velocity.x = v.x; |
| fy14lkaa | 100:b0e9c067d80a | 69 | _velocity.y = v.y; |
| fy14lkaa | 100:b0e9c067d80a | 70 | } |
| fy14lkaa | 100:b0e9c067d80a | 71 | |
| fy14lkaa | 100:b0e9c067d80a | 72 | Vector2D bullet::get_velocity() |
| fy14lkaa | 100:b0e9c067d80a | 73 | { |
| fy14lkaa | 100:b0e9c067d80a | 74 | Vector2D v = {_velocity.x,_velocity.y}; |
| fy14lkaa | 100:b0e9c067d80a | 75 | return v; |
| fy14lkaa | 100:b0e9c067d80a | 76 | } |
| fy14lkaa | 100:b0e9c067d80a | 77 | |
| fy14lkaa | 100:b0e9c067d80a | 78 | Vector2D bullet::get_pos() |
| fy14lkaa | 100:b0e9c067d80a | 79 | { |
| fy14lkaa | 100:b0e9c067d80a | 80 | Vector2D p = {_x,_y}; |
| fy14lkaa | 100:b0e9c067d80a | 81 | return p; |
| fy14lkaa | 100:b0e9c067d80a | 82 | } |