class chess_t//一枚棋子
{
int state;//在起点 = 0
//飞行中 = 1
//在终点 = 2
player_t* _owner;//所属玩家
};
class grid_t//一个格子
{
chess_t* _the;//格子上的棋子,未考虑多枚棋子的情况
virtual int move();//默认为 移动到下一格
};
class end_grid_t : public grid_t//连接到返航航线的格子
{
int _color;//对应飞机的颜色
airline_t* _end;//对应的返航航线
virtual int move();//移动到 返航航线 的第一格中
};
class distination_t : public grid_t//终点
{
virtual int move();//改变棋子状态为 在终点
};
class airline_t//航线
{
vector<grid_t*> _airline;
};
class player_t
{
class start_point_t//起飞点
{
grid* _to_airline;//连接到环形航线的格子
};
int roll();//给我来个6吧
int take_turn();//轮到我走
int _color;
start_point_t _start;
vector<chess_t> _chesses;
};
airline_t _end_lines[max_players];//返航航线
airline_t _public_line;//公用环形航线
player _players[max_players];//玩家