/* This is the heart of the application - the main game state where we are actually playing. This contains the basic game logic. */ #ifndef _GAME_H_ #define _GAME_H_ #include "gamedata.h" #include "sdlrenderer.h" #include "gamestate.h" #include using std::stack; class Game : public GameState { public: Game() {} ~Game(); bool init(); void execute(stack &state_stack) throw(StateExit); protected: // event handlers void on_exit(); void on_lbutton_down(int x, int y); void on_rbutton_down(int mX, int mY); void on_key_down(SDLKey sym, SDLMod mod, Uint16 unicode); private: void render(); SDLRenderer renderer; // data GameData data; static int NODE_RADIUS; static int MAX_MOVE_DISTANCE; }; #endif