#ifndef STATE_H #define STATE_H #include #include "tile.h" #include "action.h" class State { public: typedef boost::shared_ptr p; struct Player { //! Concealed tiles in hand. Tiles hand; //! Open tiles in hand. Tiles open; //! Discarded tiles. Tiles pond; template void serialize(Archive & ar, const unsigned int version) { ar & hand; ar & open; ar & pond; } }; //! State of players. Player players[4]; //! Possible actions. Actions possible_actions; template void serialize(Archive & ar, const unsigned int version) { ar & players; ar & possible_actions; } }; #endif