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@3:9d0428a29f41, 2017-04-06 (annotated)
- Committer:
- musallambseiso
- Date:
- Thu Apr 06 09:39:43 2017 +0000
- Revision:
- 3:9d0428a29f41
- Parent:
- 1:572782f723b5
- Child:
- 4:9660fc7ede8c
Slight positional and visual changes, added new ship, started on health
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 | 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 | 3:9d0428a29f41 | 29 | generate(); |
musallambseiso | 0:f59d874f3f14 | 30 | wait(1.0f/fps); |
musallambseiso | 0:f59d874f3f14 | 31 | |
musallambseiso | 0:f59d874f3f14 | 32 | while (1) { |
musallambseiso | 0:f59d874f3f14 | 33 | engine.read_input(pad); |
musallambseiso | 3:9d0428a29f41 | 34 | engine.checker(lcd, pad); |
musallambseiso | 0:f59d874f3f14 | 35 | engine.update(lcd, pad); |
musallambseiso | 3:9d0428a29f41 | 36 | engine.shoot(lcd, pad, SHIP_SPEED); |
musallambseiso | 3:9d0428a29f41 | 37 | generate(); |
musallambseiso | 3:9d0428a29f41 | 38 | engine.death(lcd, pad); |
musallambseiso | 0:f59d874f3f14 | 39 | lcd.refresh(); |
musallambseiso | 3:9d0428a29f41 | 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 | 1:572782f723b5 | 48 | engine.init(FRIENDLY_WIDTH,FRIENDLY_HEIGHT,SHIP_SIZE,SHIP_SPEED,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 | 3:9d0428a29f41 | 55 | engine.ships_gen(lcd); // ships |
musallambseiso | 0:f59d874f3f14 | 56 | lcd.refresh(); |
musallambseiso | 0:f59d874f3f14 | 57 | } |