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@56:c8fc0a1f4132, 2019-04-26 (annotated)
- Committer:
- fy14lkaa
- Date:
- Fri Apr 26 01:09:46 2019 +0000
- Revision:
- 56:c8fc0a1f4132
- Parent:
- 55:12faef5bd754
- Child:
- 57:45c5de9cefdf
added void function to check wall collisions in SpaceInvaders.cpp
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 | 13:9d6ee753eca6 | 10 | |
fy14lkaa | 13:9d6ee753eca6 | 11 | |
fy14lkaa | 12:45b1249b3d9a | 12 | } |
fy14lkaa | 12:45b1249b3d9a | 13 | |
fy14lkaa | 12:45b1249b3d9a | 14 | |
fy14lkaa | 12:45b1249b3d9a | 15 | |
fy14lkaa | 12:45b1249b3d9a | 16 | |
fy14lkaa | 13:9d6ee753eca6 | 17 | void SpaceInvadersEngine::init(int space_ship_width,int space_ship_height,int bullet_size, int alien_size, int speed) |
fy14lkaa | 12:45b1249b3d9a | 18 | { |
fy14lkaa | 12:45b1249b3d9a | 19 | // initialise the game parameters |
fy14lkaa | 12:45b1249b3d9a | 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 | 13:9d6ee753eca6 | 24 | _alien_size= alien_size; |
fy14lkaa | 13:9d6ee753eca6 | 25 | _speed= speed; |
fy14lkaa | 12:45b1249b3d9a | 26 | |
fy14lkaa | 13:9d6ee753eca6 | 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 | 54:095eae44895b | 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 | 12:45b1249b3d9a | 40 | lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT); |
fy14lkaa | 12:45b1249b3d9a | 41 | lcd.drawLine(WIDTH/2,0,WIDTH/2,HEIGHT-1,2); |
fy14lkaa | 12:45b1249b3d9a | 42 | //score |
fy14lkaa | 54:095eae44895b | 43 | print_scores(lcd);} |
fy14lkaa | 13:9d6ee753eca6 | 44 | |
fy14lkaa | 55:12faef5bd754 | 45 | void SpaceInvadersEngine::update(Gamepad&pad){ |
fy14lkaa | 55:12faef5bd754 | 46 | _A1.update(_d,_mag); |
fy14lkaa | 56:c8fc0a1f4132 | 47 | |
fy14lkaa | 56:c8fc0a1f4132 | 48 | } |
fy14lkaa | 56:c8fc0a1f4132 | 49 | void SpaceInvadersEngine::check_wall_collision(Gamepad &pad){ |
fy14lkaa | 56:c8fc0a1f4132 | 50 | |
fy14lkaa | 56:c8fc0a1f4132 | 51 | // read current Alien attributes |
fy14lkaa | 56:c8fc0a1f4132 | 52 | Vector2D Alien_pos = _Alien.get_pos(); |
fy14lkaa | 56:c8fc0a1f4132 | 53 | Vector2D Alien_velocity = _Alien.get_velocity(); |
fy14lkaa | 56:c8fc0a1f4132 | 54 | |
fy14lkaa | 56:c8fc0a1f4132 | 55 | } |
fy14lkaa | 54:095eae44895b | 56 | |
fy14lkaa | 56:c8fc0a1f4132 | 57 |