Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Fri May 01 09:10:23 2015 +0000
Revision:
5:100d960fc6d5
Parent:
4:d6661b976359
Child:
7:678873947b29
Mostly finished State and StateManager class. Some additional work must be done when adding new main states.

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 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 5:100d960fc6d5 20 :lcd(lcd), input(input){}
Siriagus 4:d6661b976359 21
Siriagus 5:100d960fc6d5 22 virtual void update(time_t dt) = 0;
Siriagus 4:d6661b976359 23 virtual void render() = 0;
Siriagus 4:d6661b976359 24
Siriagus 4:d6661b976359 25 private:
Siriagus 4:d6661b976359 26 void changeState(MainState newState);
Siriagus 4:d6661b976359 27
Siriagus 4:d6661b976359 28 protected:
Siriagus 4:d6661b976359 29 N5110 *lcd;
Siriagus 4:d6661b976359 30 InputManager *input;
Siriagus 4:d6661b976359 31
Siriagus 4:d6661b976359 32 private:
Siriagus 4:d6661b976359 33 StateManager *fsm;
Siriagus 4:d6661b976359 34
Siriagus 1:0cfe2255092a 35 };
Siriagus 1:0cfe2255092a 36
Siriagus 5:100d960fc6d5 37
Siriagus 5:100d960fc6d5 38
Siriagus 1:0cfe2255092a 39 #endif