00001 #ifndef CONTROLER_HPP 00002 #define CONTROLER_HPP 00003 00004 #include "Game/Move.hpp" 00005 #include "Utils/Listener.hpp" 00006 00007 template <typename GameBoard> 00008 class Controler : public Listener<Move<typename GameBoard::Coords> > 00009 { 00010 typedef typename GameBoard::Coords Coords; 00011 00012 private: 00013 00014 protected: 00015 int m_colorControlled; 00017 public: 00021 Controler():m_colorControlled(-1) {} // Put an invalid color 00022 00023 // virtual ~Controler() = 0; 00028 virtual Move<Coords> getMove() =0; 00029 00033 virtual void setColorControled(int color) 00034 { 00035 m_colorControlled = color; 00036 } 00037 }; 00038 00049 #endif