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@5:638ffc5c66f6, 2017-04-10 (annotated)
- Committer:
- musallambseiso
- Date:
- Mon Apr 10 16:44:46 2017 +0000
- Revision:
- 5:638ffc5c66f6
- Parent:
- 4:9660fc7ede8c
- Child:
- 6:0ad91977f14f
Added wave counter system and gridlines
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 | 0:f59d874f3f14 | 6 | #define FRIENDLY_WIDTH 6 |
musallambseiso | 0:f59d874f3f14 | 7 | #define FRIENDLY_HEIGHT 6 |
musallambseiso | 0:f59d874f3f14 | 8 | #define SHIP_SIZE 1 |
musallambseiso | 0:f59d874f3f14 | 9 | #define SHIP_SPEED 3 |
musallambseiso | 0:f59d874f3f14 | 10 | |
musallambseiso | 0:f59d874f3f14 | 11 | struct UserInput { |
musallambseiso | 0:f59d874f3f14 | 12 | Direction d; |
musallambseiso | 0:f59d874f3f14 | 13 | float mag; |
musallambseiso | 0:f59d874f3f14 | 14 | }; |
musallambseiso | 0:f59d874f3f14 | 15 | |
musallambseiso | 0:f59d874f3f14 | 16 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
musallambseiso | 0:f59d874f3f14 | 17 | Gamepad pad; |
musallambseiso | 0:f59d874f3f14 | 18 | Engine engine; |
musallambseiso | 0:f59d874f3f14 | 19 | |
musallambseiso | 0:f59d874f3f14 | 20 | void init(); |
musallambseiso | 0:f59d874f3f14 | 21 | void update_game(UserInput input); |
musallambseiso | 3:9d0428a29f41 | 22 | void generate(); |
musallambseiso | 4:9660fc7ede8c | 23 | void welcome(); |
musallambseiso | 0:f59d874f3f14 | 24 | |
musallambseiso | 0:f59d874f3f14 | 25 | int main() |
musallambseiso | 0:f59d874f3f14 | 26 | { |
musallambseiso | 0:f59d874f3f14 | 27 | int fps = 14; |
musallambseiso | 0:f59d874f3f14 | 28 | |
musallambseiso | 0:f59d874f3f14 | 29 | init(); |
musallambseiso | 4:9660fc7ede8c | 30 | welcome(); |
musallambseiso | 3:9d0428a29f41 | 31 | generate(); |
musallambseiso | 0:f59d874f3f14 | 32 | wait(1.0f/fps); |
musallambseiso | 0:f59d874f3f14 | 33 | |
musallambseiso | 0:f59d874f3f14 | 34 | while (1) { |
musallambseiso | 0:f59d874f3f14 | 35 | engine.read_input(pad); |
musallambseiso | 3:9d0428a29f41 | 36 | engine.checker(lcd, pad); |
musallambseiso | 0:f59d874f3f14 | 37 | engine.update(lcd, pad); |
musallambseiso | 5:638ffc5c66f6 | 38 | //engine.shoot(lcd, pad, SHIP_SPEED); |
musallambseiso | 3:9d0428a29f41 | 39 | generate(); |
musallambseiso | 0:f59d874f3f14 | 40 | lcd.refresh(); |
musallambseiso | 4:9660fc7ede8c | 41 | wait(1.0f/fps); |
musallambseiso | 0:f59d874f3f14 | 42 | } |
musallambseiso | 0:f59d874f3f14 | 43 | } |
musallambseiso | 0:f59d874f3f14 | 44 | |
musallambseiso | 0:f59d874f3f14 | 45 | void init() |
musallambseiso | 0:f59d874f3f14 | 46 | { |
musallambseiso | 0:f59d874f3f14 | 47 | lcd.init(); |
musallambseiso | 0:f59d874f3f14 | 48 | pad.init(); |
musallambseiso | 1:572782f723b5 | 49 | engine.init(FRIENDLY_WIDTH,FRIENDLY_HEIGHT,SHIP_SIZE,SHIP_SPEED,lcd,pad); |
musallambseiso | 0:f59d874f3f14 | 50 | } |
musallambseiso | 0:f59d874f3f14 | 51 | |
musallambseiso | 3:9d0428a29f41 | 52 | void generate() |
musallambseiso | 0:f59d874f3f14 | 53 | { |
musallambseiso | 0:f59d874f3f14 | 54 | lcd.clear(); |
musallambseiso | 3:9d0428a29f41 | 55 | engine.draw(lcd); // grid, health |
musallambseiso | 0:f59d874f3f14 | 56 | lcd.refresh(); |
musallambseiso | 4:9660fc7ede8c | 57 | } |
musallambseiso | 4:9660fc7ede8c | 58 | |
musallambseiso | 4:9660fc7ede8c | 59 | void welcome() { |
musallambseiso | 4:9660fc7ede8c | 60 | |
musallambseiso | 4:9660fc7ede8c | 61 | lcd.printString(" Press Start! ",0,4); |
musallambseiso | 4:9660fc7ede8c | 62 | lcd.refresh(); |
musallambseiso | 4:9660fc7ede8c | 63 | |
musallambseiso | 4:9660fc7ede8c | 64 | while ( pad.check_event(Gamepad::START_PRESSED) == false) { |
musallambseiso | 4:9660fc7ede8c | 65 | wait(0.1); |
musallambseiso | 4:9660fc7ede8c | 66 | } |
musallambseiso | 0:f59d874f3f14 | 67 | } |