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@1:572782f723b5, 2017-04-02 (annotated)
- Committer:
- musallambseiso
- Date:
- Sun Apr 02 17:47:44 2017 +0000
- Revision:
- 1:572782f723b5
- Parent:
- 0:f59d874f3f14
- Child:
- 3:9d0428a29f41
Added framework for bullet, still minimal progress
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 | 0:f59d874f3f14 | 22 | void render(); |
musallambseiso | 0:f59d874f3f14 | 23 | void generator(); |
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 | 0:f59d874f3f14 | 30 | render(); |
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 | 0:f59d874f3f14 | 35 | engine.update(lcd, pad); |
musallambseiso | 0:f59d874f3f14 | 36 | render(); |
musallambseiso | 0:f59d874f3f14 | 37 | generator(); |
musallambseiso | 0:f59d874f3f14 | 38 | lcd.refresh(); |
musallambseiso | 0:f59d874f3f14 | 39 | wait(1.0f/fps); |
musallambseiso | 0:f59d874f3f14 | 40 | } |
musallambseiso | 0:f59d874f3f14 | 41 | } |
musallambseiso | 0:f59d874f3f14 | 42 | |
musallambseiso | 0:f59d874f3f14 | 43 | void init() |
musallambseiso | 0:f59d874f3f14 | 44 | { |
musallambseiso | 0:f59d874f3f14 | 45 | lcd.init(); |
musallambseiso | 0:f59d874f3f14 | 46 | pad.init(); |
musallambseiso | 1:572782f723b5 | 47 | engine.init(FRIENDLY_WIDTH,FRIENDLY_HEIGHT,SHIP_SIZE,SHIP_SPEED,lcd,pad); |
musallambseiso | 0:f59d874f3f14 | 48 | } |
musallambseiso | 0:f59d874f3f14 | 49 | |
musallambseiso | 0:f59d874f3f14 | 50 | void render() |
musallambseiso | 0:f59d874f3f14 | 51 | { |
musallambseiso | 0:f59d874f3f14 | 52 | lcd.clear(); |
musallambseiso | 0:f59d874f3f14 | 53 | engine.draw(lcd); // grid, spaceships |
musallambseiso | 0:f59d874f3f14 | 54 | lcd.refresh(); |
musallambseiso | 0:f59d874f3f14 | 55 | } |
musallambseiso | 0:f59d874f3f14 | 56 | |
musallambseiso | 0:f59d874f3f14 | 57 | void generator() |
musallambseiso | 0:f59d874f3f14 | 58 | { |
musallambseiso | 0:f59d874f3f14 | 59 | engine.ship1_gen(lcd); |
musallambseiso | 0:f59d874f3f14 | 60 | engine.ship2_gen(lcd); |
musallambseiso | 0:f59d874f3f14 | 61 | engine.ship3_gen(lcd); |
musallambseiso | 0:f59d874f3f14 | 62 | engine.ship4_gen(lcd); |
musallambseiso | 0:f59d874f3f14 | 63 | engine.ship5_gen(lcd); |
musallambseiso | 0:f59d874f3f14 | 64 | } |