Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Fri May 01 00:38:59 2015 +0000
Revision:
4:d6661b976359
Parent:
1:0cfe2255092a
Child:
5:100d960fc6d5
Started rewriting the main finite state machine - design in progress

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 4:d6661b976359 11 enum MainState {MAIN_MENU, GAME, SUBMIT_HIGHSCORE, GAME_OVER};
Siriagus 4:d6661b976359 12
Siriagus 4:d6661b976359 13 // Each main state is a derived from the State class.
Siriagus 1:0cfe2255092a 14 class State
Siriagus 1:0cfe2255092a 15 {
Siriagus 1:0cfe2255092a 16 public:
Siriagus 4:d6661b976359 17
Siriagus 4:d6661b976359 18 State(StateManager* fsm, N5110 *lcd, InputManager* input)
Siriagus 4:d6661b976359 19 : fsm(fsm), lcd(lcd), input(input){}
Siriagus 4:d6661b976359 20
Siriagus 4:d6661b976359 21 virtual void update() = 0;
Siriagus 4:d6661b976359 22 virtual void render() = 0;
Siriagus 4:d6661b976359 23
Siriagus 4:d6661b976359 24 private:
Siriagus 4:d6661b976359 25 void changeState(MainState newState);
Siriagus 4:d6661b976359 26
Siriagus 4:d6661b976359 27 protected:
Siriagus 4:d6661b976359 28 N5110 *lcd;
Siriagus 4:d6661b976359 29 InputManager *input;
Siriagus 4:d6661b976359 30
Siriagus 4:d6661b976359 31 private:
Siriagus 4:d6661b976359 32 StateManager *fsm;
Siriagus 4:d6661b976359 33
Siriagus 1:0cfe2255092a 34 };
Siriagus 1:0cfe2255092a 35
Siriagus 1:0cfe2255092a 36 #endif