00001 00028 #ifndef DMN_PLAYER_H 00029 #define DMN_PLAYER_H 1 00030 00031 #include <dmn/dmn.h> 00032 #include <dmn/core.h> 00033 #include <dmn/module.h> 00034 00035 namespace dmn 00036 { 00040 class Player: public Module 00041 { 00042 public: 00046 Player(); 00047 00051 virtual ~Player() {} 00052 00060 virtual bool configure(Core *core) = 0; 00061 00067 virtual void set_name(std::string name) = 0; 00068 00074 virtual std::string name() = 0; 00075 00081 virtual bool is_interactive() = 0; 00082 00088 virtual void set_shuffled_tile(Domino domino) = 0; 00089 00098 virtual bool domino_to_play(Domino *domino, HalfDomino *half) = 0; 00099 00107 virtual void set_domino_played(ID id, Domino domino, HalfDomino half) = 0; 00108 00116 virtual void set_player_pass(ID id, bool domino_shuffled) = 0; 00117 }; 00118 }; 00119 00120 #endif // DMN_PLAYER_H