#ifndef TILE_H #define TILE_H #include #include class Tile { public: enum Type { // Face-down tile: Back, // Characters set: Man_1, Man_2, Man_3, Man_4, Man_5, Man_6, Man_7, Man_8, Man_9, // Circles set: Pin_1, Pin_2, Pin_3, Pin_4, Pin_5, Pin_6, Pin_7, Pin_8, Pin_9, // Bamboo set: Sou_1, Sou_2, Sou_3, Sou_4, Sou_5, Sou_6, Sou_7, Sou_8, Sou_9, // Winds: Ton, Nan, Xia, Pei, // Dragons: Chun, Haku, Hatsu }; Type type; bool red; bool rotated; Tile(); Tile(Type t, bool re = false, bool ro = false); virtual ~Tile(){}; template void serialize(Archive & ar, const unsigned int version) { ar & type; ar & red; ar & rotated; } }; typedef std::vector Tiles; #endif