Harry Rance 200925395 Embedded Systems Project

Dependencies:   mbed

Committer:
harryrance
Date:
Wed Apr 26 17:40:17 2017 +0000
Revision:
2:50feb42b982c
Parent:
1:95d7dd44bb0d
Child:
3:43970d8d642e
Game engine complete. Boss fight implemented (very hard!) and end game screen characteristics change depending on whether you defeated the boss or the boss defeated you.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
harryrance 0:c9bf674fe0c7 1 ////////// pre-processor directives //////////
harryrance 0:c9bf674fe0c7 2 #include "mbed.h"
harryrance 0:c9bf674fe0c7 3 #include "Gamepad.h"
harryrance 0:c9bf674fe0c7 4 #include "N5110.h"
harryrance 0:c9bf674fe0c7 5 #include "GameEngine.h"
harryrance 0:c9bf674fe0c7 6
harryrance 1:95d7dd44bb0d 7 #define US_X 42
harryrance 0:c9bf674fe0c7 8 #define AA_X 2
harryrance 2:50feb42b982c 9 #define SPEED 1.5
harryrance 0:c9bf674fe0c7 10
harryrance 0:c9bf674fe0c7 11 ////////// structs //////////
harryrance 0:c9bf674fe0c7 12 struct UserInput {
harryrance 0:c9bf674fe0c7 13 Direction d;
harryrance 0:c9bf674fe0c7 14 float mag;
harryrance 0:c9bf674fe0c7 15 };
harryrance 0:c9bf674fe0c7 16
harryrance 0:c9bf674fe0c7 17 ////////// objects //////////
harryrance 0:c9bf674fe0c7 18 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
harryrance 0:c9bf674fe0c7 19 Gamepad pad;
harryrance 0:c9bf674fe0c7 20 GameEngine engine;
harryrance 0:c9bf674fe0c7 21
harryrance 0:c9bf674fe0c7 22 ////////// prototypes //////////
harryrance 0:c9bf674fe0c7 23 void init();
harryrance 0:c9bf674fe0c7 24 void render();
harryrance 0:c9bf674fe0c7 25 void update_game(UserInput input);
harryrance 0:c9bf674fe0c7 26
harryrance 0:c9bf674fe0c7 27 ////////// functions //////////
harryrance 0:c9bf674fe0c7 28 int main()
harryrance 0:c9bf674fe0c7 29 {
harryrance 0:c9bf674fe0c7 30 int fps = 30;
harryrance 0:c9bf674fe0c7 31
harryrance 0:c9bf674fe0c7 32 init();
harryrance 0:c9bf674fe0c7 33 render();
harryrance 0:c9bf674fe0c7 34 wait(1.0f/fps);
harryrance 0:c9bf674fe0c7 35
harryrance 0:c9bf674fe0c7 36 while(1){
harryrance 0:c9bf674fe0c7 37 engine.read_input(pad);
harryrance 0:c9bf674fe0c7 38 engine.update(pad);
harryrance 0:c9bf674fe0c7 39 render();
harryrance 0:c9bf674fe0c7 40 wait(1.0f/fps);
harryrance 0:c9bf674fe0c7 41 }
harryrance 0:c9bf674fe0c7 42 }
harryrance 0:c9bf674fe0c7 43
harryrance 0:c9bf674fe0c7 44 void render()
harryrance 0:c9bf674fe0c7 45 {
harryrance 0:c9bf674fe0c7 46 lcd.clear();
harryrance 0:c9bf674fe0c7 47 engine.draw(lcd);
harryrance 0:c9bf674fe0c7 48 lcd.refresh();
harryrance 0:c9bf674fe0c7 49 }
harryrance 0:c9bf674fe0c7 50
harryrance 0:c9bf674fe0c7 51 void init()
harryrance 0:c9bf674fe0c7 52 {
harryrance 0:c9bf674fe0c7 53 lcd.init();
harryrance 0:c9bf674fe0c7 54 pad.init();
harryrance 0:c9bf674fe0c7 55
harryrance 2:50feb42b982c 56 engine.initialise(US_X, AA_X, SPEED);
harryrance 0:c9bf674fe0c7 57
harryrance 0:c9bf674fe0c7 58 }
harryrance 0:c9bf674fe0c7 59