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
SpaceInvadersEngine/SpaceInvadersEngine.cpp@62:0bd9b22ad5ed, 2019-04-27 (annotated)
- Committer:
- fy14lkaa
- Date:
- Sat Apr 27 16:21:34 2019 +0000
- Revision:
- 62:0bd9b22ad5ed
- Parent:
- 61:b248d2c31b4f
- Child:
- 63:5a33437d2267
added _bullet.update(); to update the bullet before checking collisions to be able to correct for it before updating the display.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| fy14lkaa | 12:45b1249b3d9a | 1 | #include "SpaceInvadersEngine.h" |
| fy14lkaa | 12:45b1249b3d9a | 2 | |
| fy14lkaa | 12:45b1249b3d9a | 3 | SpaceInvadersEngine::SpaceInvadersEngine() |
| fy14lkaa | 12:45b1249b3d9a | 4 | { |
| fy14lkaa | 12:45b1249b3d9a | 5 | |
| fy14lkaa | 12:45b1249b3d9a | 6 | } |
| fy14lkaa | 12:45b1249b3d9a | 7 | |
| fy14lkaa | 12:45b1249b3d9a | 8 | SpaceInvadersEngine::~SpaceInvadersEngine() |
| fy14lkaa | 12:45b1249b3d9a | 9 | { |
| fy14lkaa | 57:45c5de9cefdf | 10 | |
| fy14lkaa | 57:45c5de9cefdf | 11 | |
| fy14lkaa | 12:45b1249b3d9a | 12 | } |
| fy14lkaa | 12:45b1249b3d9a | 13 | |
| fy14lkaa | 12:45b1249b3d9a | 14 | |
| fy14lkaa | 12:45b1249b3d9a | 15 | |
| fy14lkaa | 12:45b1249b3d9a | 16 | |
| fy14lkaa | 57:45c5de9cefdf | 17 | void SpaceInvadersEngine::init(int space_ship_width,int space_ship_height,int bullet_size, int Alien_size, int speed) |
| fy14lkaa | 57:45c5de9cefdf | 18 | { |
| fy14lkaa | 57:45c5de9cefdf | 19 | // initialise the game parameters |
| fy14lkaa | 57:45c5de9cefdf | 20 | |
| fy14lkaa | 13:9d6ee753eca6 | 21 | _space_ship_width= space_ship_width; |
| fy14lkaa | 13:9d6ee753eca6 | 22 | _space_ship_height= space_ship_height; |
| fy14lkaa | 13:9d6ee753eca6 | 23 | _bullet_size= bullet_size; |
| fy14lkaa | 57:45c5de9cefdf | 24 | _Alien_size= Alien_size; |
| fy14lkaa | 13:9d6ee753eca6 | 25 | _speed= speed; |
| fy14lkaa | 57:45c5de9cefdf | 26 | |
| fy14lkaa | 57:45c5de9cefdf | 27 | |
| fy14lkaa | 12:45b1249b3d9a | 28 | } |
| fy14lkaa | 12:45b1249b3d9a | 29 | |
| fy14lkaa | 12:45b1249b3d9a | 30 | void SpaceInvadersEngine::read_input(Gamepad &pad) |
| fy14lkaa | 12:45b1249b3d9a | 31 | { |
| fy14lkaa | 12:45b1249b3d9a | 32 | _d = pad.get_direction(); |
| fy14lkaa | 13:9d6ee753eca6 | 33 | _mag = pad.get_mag(); |
| fy14lkaa | 12:45b1249b3d9a | 34 | } |
| fy14lkaa | 12:45b1249b3d9a | 35 | |
| fy14lkaa | 57:45c5de9cefdf | 36 | void SpaceInvadersEngine::draw(N5110 &lcd) |
| fy14lkaa | 12:45b1249b3d9a | 37 | { |
| fy14lkaa | 12:45b1249b3d9a | 38 | // draw the elements in the LCD buffer |
| fy14lkaa | 12:45b1249b3d9a | 39 | // pitch |
| fy14lkaa | 57:45c5de9cefdf | 40 | |
| fy14lkaa | 12:45b1249b3d9a | 41 | //score |
| fy14lkaa | 57:45c5de9cefdf | 42 | print_scores(lcd); |
| fy14lkaa | 57:45c5de9cefdf | 43 | _Alien.draw(lcd); |
| fy14lkaa | 58:74742c821522 | 44 | _space_ship.draw(lcd); |
| fy14lkaa | 59:9e8e8d6be5b2 | 45 | _bullet.draw(lcd); |
| fy14lkaa | 56:c8fc0a1f4132 | 46 | } |
| fy14lkaa | 57:45c5de9cefdf | 47 | |
| fy14lkaa | 60:c5f97e0a14eb | 48 | void SpaceInvadersEngine::update(Gamepad &pad) |
| fy14lkaa | 60:c5f97e0a14eb | 49 | { |
| fy14lkaa | 62:0bd9b22ad5ed | 50 | check_goal(pad); |
| fy14lkaa | 62:0bd9b22ad5ed | 51 | _bullet.update(); |
| fy14lkaa | 60:c5f97e0a14eb | 52 | |
| fy14lkaa | 61:b248d2c31b4f | 53 | void SpaceInvadersEngine::update(Gamepad&pad) { |
| fy14lkaa | 61:b248d2c31b4f | 54 | _A1.update(_d,_mag); |
| fy14lkaa | 57:45c5de9cefdf | 55 | |
| fy14lkaa | 61:b248d2c31b4f | 56 | } |
| fy14lkaa | 61:b248d2c31b4f | 57 | void SpaceInvadersEngine::check_wall_collision(Gamepad &pad) { |
| fy14lkaa | 57:45c5de9cefdf | 58 | |
| fy14lkaa | 61:b248d2c31b4f | 59 | // read current Alien attributes |
| fy14lkaa | 61:b248d2c31b4f | 60 | Vector2D Alien_pos = _Alien.get_pos(); |
| fy14lkaa | 61:b248d2c31b4f | 61 | Vector2D Alien_velocity = _Alien.get_velocity(); |
| fy14lkaa | 57:45c5de9cefdf | 62 | |
| fy14lkaa | 61:b248d2c31b4f | 63 | } |
| fy14lkaa | 54:095eae44895b | 64 | |
| fy14lkaa | 56:c8fc0a1f4132 | 65 | |
| fy14lkaa | 57:45c5de9cefdf | 66 |