Musallam Bseiso / Mbed 2 deprecated nemesis_v1

Dependencies:   Enemy1 Enemy2 Enemy3 Enemy4 Enemy5 Enemy6 Engine Friendly Gamepad N5110 Rocket Stats mbed

Committer:
musallambseiso
Date:
Tue May 02 22:14:51 2017 +0000
Revision:
8:ad3857f100fe
Parent:
7:577f791134e5
Child:
9:51a357a1178c
Added Doxygen, tidied code, added second weapons type (star)

Who changed what in which revision?

UserRevisionLine numberNew 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 8:ad3857f100fe 35 engine.check_all(lcd, pad);
musallambseiso 8:ad3857f100fe 36 engine.update_all(lcd, pad);
musallambseiso 3:9d0428a29f41 37 generate();
musallambseiso 8:ad3857f100fe 38 engine.shoot_rocket(lcd, pad);
musallambseiso 8:ad3857f100fe 39 engine.shoot_star(lcd, pad);
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 7:577f791134e5 49 engine.init(STAGE_ONE, 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 8:ad3857f100fe 55 engine.draw_all(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 8:ad3857f100fe 61 lcd.printString(" NEMESIS ",0,2);
musallambseiso 4:9660fc7ede8c 62 lcd.printString(" Press Start! ",0,4);
musallambseiso 8:ad3857f100fe 63
musallambseiso 4:9660fc7ede8c 64 lcd.refresh();
musallambseiso 4:9660fc7ede8c 65
musallambseiso 4:9660fc7ede8c 66 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
musallambseiso 4:9660fc7ede8c 67 wait(0.1);
musallambseiso 4:9660fc7ede8c 68 }
musallambseiso 0:f59d874f3f14 69 }