数据结构课程设计-n子连珠

#include
#include
using namespace std;class CHESS
{
private:int Size,Row; //棋盘大小(Size*Size)和连珠数目int Owin,Xwin,Draws; //棋手获胜局数和平局数char Board[25][25]; //棋盘char player_1[20],player_2[20]; //玩家姓名int x,y,SpotsOnBoard; //记录落子坐标与落子数目
public:void Gamemode(); //游戏模式 , 选择棋盘大小和连珠数目void Player();   //存储玩家姓名void PrintBoard(); //打印棋盘void PrintInfo(); //打印游戏规则void PrintStats(); //打印统计的胜负信息void ChoiceOfChar(char&); //询问用户是否再玩一局void PromptTurn(); //提示玩家下棋(O 先 X 后)void IfError(); //判断所下棋子坐标是否有错int IfJudge(); //判断棋子是否完成连珠int Result(); //落子后处理void Setboard(); //重置棋盘、落子坐标和落子数目
};
//3. 各成员函数
void CHESS::Gamemode() //选择棋盘大小和连珠数目
{do{cout<<"请输入棋盘大小 (3~20):";cin>>Size;}while(Size>20||Size<3);  //确保输入正确的棋盘大小do{cout<<"请输入连珠数目 (3~5):";cin>>Row;}while(Row>5||Row<3);  //确保输入正确的连珠数目Owin=0;   //初始化Y胜利数Xwin=0;   //初始化X胜利数Draws=0;  //初始化平局数
}
void CHESS::Player()  //存储玩家姓名
{cout<<"请输入玩家一(player1)姓名 : ";cin>>player_1;cout<>player_2;cout<>choice;
}
void CHESS::PromptTurn()
{char turn[20] ;strcpy(turn,player_1);if(SpotsOnBoard%2) strcpy(turn,player_2);else strcpy(turn,player_1); //利用落子个数判断接下来是哪位棋手下棋cout<<"轮到"<>x>>y;SpotsOnBoard++; //落子个数加一,用以判断落子顺序
}
void CHESS::IfError()
{while (x>Size||x<1||y>Size||y<1||'O'==Board[x-1][y-1]||'X'==Board[x-1][y-1]){cout<<"请输入正确的棋子坐标 "<>x>>y; //确保输入正确的棋子坐标}
}
int CHESS::IfJudge()
{int i,j,k;for(i=0; i

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部