00001 00025 #ifndef PLAYER_TEXT_H 00026 #define PLAYER_TEXT_H 1 00027 00028 #include <dmn/player.h> 00029 00030 #include <dmn/dominoes.h> 00031 00032 namespace dmn 00033 { 00037 class PlayerText: public Player 00038 { 00039 private: 00040 Core* core_; // Core 00041 ID hand_id_; // Identificator of the hand where the players 00042 // plays 00043 std::string name_; // Player's name 00044 dmn::Dominoes dominoes_; // Player's dominoes 00045 bool is_configured_; // true -> Module configured, 00046 // false -> Module not configured 00047 00053 bool can_play(); 00054 00058 void show_dominoes(); 00059 00066 void show_count_dominoes(Dominoes dominoes, ID hand_id); 00067 00076 bool select_domino(Domino* domino, HalfDomino* half); 00077 00078 public: 00082 PlayerText(); 00083 00084 bool configure(Core *core); 00085 void set_name(std::string name); 00086 std::string name(); 00087 bool is_interactive(); 00088 void set_shuffled_tile(Domino domino); 00089 bool domino_to_play(Domino *domino, HalfDomino *half); 00090 void set_domino_played(ID id, Domino domino, HalfDomino half); 00091 void set_player_pass(ID id, bool domino_shuffled); 00092 }; 00093 }; 00094 00095 #endif // PLAYER_TEXT_H