Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Sat May 02 00:22:43 2015 +0000
Revision:
8:9ac6a428fa26
Parent:
7:678873947b29
Child:
10:f2488a0ecab7
Added Splash/Title Screen + Prototyping player movement

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Siriagus 1:0cfe2255092a 1 #ifndef STATE_H
Siriagus 1:0cfe2255092a 2 #define STATE_H
Siriagus 1:0cfe2255092a 3
Siriagus 4:d6661b976359 4 #include "N5110.h"
Siriagus 4:d6661b976359 5 #include "PinDetect.h"
Siriagus 4:d6661b976359 6 #include "InputManager.h"
Siriagus 4:d6661b976359 7
Siriagus 4:d6661b976359 8 class StateManager;
Siriagus 4:d6661b976359 9
Siriagus 4:d6661b976359 10 // List of main states in the game
Siriagus 8:9ac6a428fa26 11 enum MainState {MAIN_MENU, GAME, SUBMIT_HIGHSCORE, GAME_OVER, NO_STATE, TITLE_SCREEN};
Siriagus 4:d6661b976359 12
Siriagus 4:d6661b976359 13 // Each main state is a derived from the State class.
Siriagus 5:100d960fc6d5 14
Siriagus 1:0cfe2255092a 15 class State
Siriagus 5:100d960fc6d5 16 {
Siriagus 1:0cfe2255092a 17 public:
Siriagus 4:d6661b976359 18
Siriagus 4:d6661b976359 19 State(StateManager* fsm, N5110 *lcd, InputManager* input)
Siriagus 7:678873947b29 20 :lcd(lcd), input(input), fsm(fsm){}
Siriagus 4:d6661b976359 21
Siriagus 7:678873947b29 22 virtual void update(float dt) = 0;
Siriagus 4:d6661b976359 23 virtual void render() = 0;
Siriagus 4:d6661b976359 24
Siriagus 7:678873947b29 25 protected:
Siriagus 7:678873947b29 26 void requestStateChange(MainState newState);
Siriagus 8:9ac6a428fa26 27 void drawImage(const int img[BANKS][WIDTH]); // Draws an image from array
Siriagus 4:d6661b976359 28
Siriagus 4:d6661b976359 29 protected:
Siriagus 4:d6661b976359 30 N5110 *lcd;
Siriagus 4:d6661b976359 31 InputManager *input;
Siriagus 4:d6661b976359 32
Siriagus 4:d6661b976359 33 private:
Siriagus 4:d6661b976359 34 StateManager *fsm;
Siriagus 4:d6661b976359 35
Siriagus 1:0cfe2255092a 36 };
Siriagus 1:0cfe2255092a 37
Siriagus 1:0cfe2255092a 38 #endif