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: Enemy1 Enemy2 Enemy3 Enemy4 Enemy5 Enemy6 Engine Friendly Gamepad N5110 Rocket Stats mbed
main.cpp@7:577f791134e5, 2017-05-01 (annotated)
- Committer:
- musallambseiso
- Date:
- Mon May 01 13:03:28 2017 +0000
- Revision:
- 7:577f791134e5
- Parent:
- 6:0ad91977f14f
- Child:
- 8:ad3857f100fe
Tidied code, added levels, added comments, fixed and improved bullet system, added enemy death sequence
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| musallambseiso | 0:f59d874f3f14 | 1 | #include "mbed.h" |
| musallambseiso | 0:f59d874f3f14 | 2 | #include "Gamepad.h" |
| musallambseiso | 0:f59d874f3f14 | 3 | #include "N5110.h" |
| musallambseiso | 0:f59d874f3f14 | 4 | #include "Engine.h" |
| musallambseiso | 0:f59d874f3f14 | 5 | |
| musallambseiso | 7:577f791134e5 | 6 | #define STAGE_ONE 2 |
| musallambseiso | 7:577f791134e5 | 7 | #define STAGE_TWO 3 |
| musallambseiso | 7:577f791134e5 | 8 | #define STAGE_THREE 4 |
| musallambseiso | 0:f59d874f3f14 | 9 | |
| musallambseiso | 0:f59d874f3f14 | 10 | struct UserInput { |
| musallambseiso | 0:f59d874f3f14 | 11 | Direction d; |
| musallambseiso | 0:f59d874f3f14 | 12 | float mag; |
| musallambseiso | 0:f59d874f3f14 | 13 | }; |
| musallambseiso | 0:f59d874f3f14 | 14 | |
| musallambseiso | 0:f59d874f3f14 | 15 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
| musallambseiso | 0:f59d874f3f14 | 16 | Gamepad pad; |
| musallambseiso | 0:f59d874f3f14 | 17 | Engine engine; |
| musallambseiso | 0:f59d874f3f14 | 18 | |
| musallambseiso | 0:f59d874f3f14 | 19 | void init(); |
| musallambseiso | 0:f59d874f3f14 | 20 | void update_game(UserInput input); |
| musallambseiso | 3:9d0428a29f41 | 21 | void generate(); |
| musallambseiso | 4:9660fc7ede8c | 22 | void welcome(); |
| musallambseiso | 0:f59d874f3f14 | 23 | |
| musallambseiso | 0:f59d874f3f14 | 24 | int main() |
| musallambseiso | 0:f59d874f3f14 | 25 | { |
| musallambseiso | 0:f59d874f3f14 | 26 | int fps = 14; |
| musallambseiso | 0:f59d874f3f14 | 27 | |
| musallambseiso | 0:f59d874f3f14 | 28 | init(); |
| musallambseiso | 4:9660fc7ede8c | 29 | welcome(); |
| musallambseiso | 3:9d0428a29f41 | 30 | generate(); |
| musallambseiso | 0:f59d874f3f14 | 31 | wait(1.0f/fps); |
| musallambseiso | 0:f59d874f3f14 | 32 | |
| musallambseiso | 0:f59d874f3f14 | 33 | while (1) { |
| musallambseiso | 0:f59d874f3f14 | 34 | engine.read_input(pad); |
| musallambseiso | 3:9d0428a29f41 | 35 | engine.checker(lcd, pad); |
| musallambseiso | 0:f59d874f3f14 | 36 | engine.update(lcd, pad); |
| musallambseiso | 3:9d0428a29f41 | 37 | generate(); |
| musallambseiso | 7:577f791134e5 | 38 | engine.shoot(lcd, pad); |
| musallambseiso | 0:f59d874f3f14 | 39 | lcd.refresh(); |
| musallambseiso | 4:9660fc7ede8c | 40 | wait(1.0f/fps); |
| musallambseiso | 0:f59d874f3f14 | 41 | } |
| musallambseiso | 0:f59d874f3f14 | 42 | } |
| musallambseiso | 0:f59d874f3f14 | 43 | |
| musallambseiso | 0:f59d874f3f14 | 44 | void init() |
| musallambseiso | 0:f59d874f3f14 | 45 | { |
| musallambseiso | 0:f59d874f3f14 | 46 | lcd.init(); |
| musallambseiso | 0:f59d874f3f14 | 47 | pad.init(); |
| musallambseiso | 7:577f791134e5 | 48 | engine.init(STAGE_ONE, lcd, pad); |
| musallambseiso | 0:f59d874f3f14 | 49 | } |
| musallambseiso | 0:f59d874f3f14 | 50 | |
| musallambseiso | 3:9d0428a29f41 | 51 | void generate() |
| musallambseiso | 0:f59d874f3f14 | 52 | { |
| musallambseiso | 0:f59d874f3f14 | 53 | lcd.clear(); |
| musallambseiso | 3:9d0428a29f41 | 54 | engine.draw(lcd); // grid, health |
| musallambseiso | 0:f59d874f3f14 | 55 | lcd.refresh(); |
| musallambseiso | 4:9660fc7ede8c | 56 | } |
| musallambseiso | 4:9660fc7ede8c | 57 | |
| musallambseiso | 4:9660fc7ede8c | 58 | void welcome() { |
| musallambseiso | 4:9660fc7ede8c | 59 | |
| musallambseiso | 4:9660fc7ede8c | 60 | lcd.printString(" Press Start! ",0,4); |
| musallambseiso | 4:9660fc7ede8c | 61 | lcd.refresh(); |
| musallambseiso | 4:9660fc7ede8c | 62 | |
| musallambseiso | 4:9660fc7ede8c | 63 | while ( pad.check_event(Gamepad::START_PRESSED) == false) { |
| musallambseiso | 4:9660fc7ede8c | 64 | wait(0.1); |
| musallambseiso | 4:9660fc7ede8c | 65 | } |
| musallambseiso | 0:f59d874f3f14 | 66 | } |