/* Abstract instance of a game state. This contains the basic functions for game looping code, and has a fully-functional event handler we can overload later */ #ifndef _GAME_STATE_H_ #define _GAME_STATE_H_ #include "mainevent.h" #include #include using std::exception; using std::stack; class StateExit : public exception {}; class GameState : public MainEvent { public: GameState() {} ~GameState() {} virtual bool init() = 0; virtual void execute(stack &game_state) throw(StateExit) = 0; }; #endif