#ifndef _CONTROLLER_H #define _CONTROLLER_H #include "Game.h" #include "Player.h" /** * Pure virtual class for anything that can move a player. **/ class Controller { public: Controller(Player* pPlayer); virtual ~Controller(void); /** * Returns the associatedplayer **/ Player* getPlayer(); /** * This function will be called on every turn and should update * m_player directly in order to take decisions. **/ virtual void think() = 0; /** * Reinits the controller. **/ virtual void reset() = 0; protected: Player* m_pPlayer; }; #endif