数据结构编五子棋
整理:yaobaiwang.com 时间:04月27日
数据结构编五子棋
#includeusing namespace std; void init(char flag[20][20]);//初始化棋盘 void draw(char flag[20][20]);//划出指定棋盘 int test(char flag[20][20],char);//判断是否棋局结束 bool check(int,int);//检查玩家输入坐标是否合法 int main(){ //设置棋盘大小 ,可以设置成变量 x,y char flag[20][20]; //初始化数据 init(flag); for(int x =0;x>j; while(flag[i][j]=='X'||flag[i][j]=='O')//判断输入位置是否有棋子 { coutj; } if(check(i,j)==false) { coutj; } flag[i][j]='X';//指定位置放上棋子 draw(flag); if(test(flag,'X'))//判断是否获胜(A) { char replay; coutreplay; if (replay=='Y'||replay=='y') { main(); } else { break; } } x+=2; }else{ couti; cin>>j; while(flag[i][j]=='X'||flag[i][j]=='O') { coutj; } if(check(i,j)==false) { coutj; } flag[i][j]='O'; draw(flag); if(test(flag,'O'))//判断是否获胜(B) { char replay; coutreplay; if (replay=='Y'||replay=='y') { main(); } else { break; } } x+=2; } } return 0; }void init(char flag[][20]){ for(int i=0;i
急:五子棋的源代码数据结构每一步都要有解释的!
#include#include#define Num 15//********************************************************//类class T//定义类用来封装所有相关函数和变量{ char board[Num][Num];//用数组board[Num][Num]来定义棋盘public: void PrintMenu(); //打印菜单 说明游戏规则和方法 void PrintBoard(); //打印棋盘 void GameStart(char*,int &,int &,char); //下棋 int whichwin(int,int,char); //判断那个选手赢 void Choice(char &); //是否再玩 void Setboard(); //重置棋盘};//****************************************************************//main主函数void main ()//主函数{ T s;//说明类的一个对象s s.PrintMenu();//通过s调用PrintMenu函数提示如何游戏 char player1[20],player2[20];//玩家姓名 int FirstWin=0,SecondWin=0,Draws=0,x,y,N;//说明变量,赋初值为0以待计算输赢结果 char; cin.ignore(20,'\n');//输入输出流,前面如果有输入把输入行所有字符取空,以便后面的输入从新的一行开始 cout
急:五子棋的源代码数据结构每一步都要有解释的!
#include#include#define Num 15//********************************************************//类class T//定义类用来封装所有相关函数和变量{ char board[Num][Num];//用数组board[Num][Num]来定义棋盘public: void PrintMenu(); //打印菜单 说明游戏规则和方法 void PrintBoard(); //打印棋盘 void GameStart(char*,int &,int &,char); //下棋 int whichwin(int,int,char); //判断那个选手赢 void Choice(char &); //是否再玩 void Setboard(); //重置棋盘};//****************************************************************//main主函数void main ()//主函数{ T s;//说明类的一个对象s s.PrintMenu();//通过s调用PrintMenu函数提示如何游戏 char player1[20],player2[20];//玩家姓名 int FirstWin=0,SecondWin=0,Draws=0,x,y,N;//说明变量,赋初值为0以待计算输赢结果 char; cin.ignore(20,'\n');//输入输出流,前面如果有输入把输入行所有字符取空,以便后面的输入从新的一行开始 cout
五子棋黑白子各是多少
正规的标准数一般定为黑子113枚,白子112枚。
棋子分黑白两色。棋子形状为扁圆形,有一面凸起或两面凸起均可。棋子厚度一般不超过0.8厘米,直径应比棋盘上邻近点间的距离略小些,以免影响在棋盘上的行棋,以2.0——2.3厘米为宜。
平时下棋,棋子数量不限,以下棋时够用为准。正规的标准数一般定为黑子113枚,白子112枚。
扩展资料
规则:
(1)对局双方各执一色棋子。
(2)空棋盘开局。
(3)黑先、白后,交替下子,每次只能下一子。
(4)棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动,不得从棋盘上拿掉或拿起另落别处。
(5)黑方的第一枚棋子可下在棋盘任意交叉点上。
(6)轮流下子是双方的权利,但允许任何一方放弃下子权(即:PASS权)
五子棋对局,执行黑方指定开局、三手可交换、五手两打的规定。整个对局过程中黑方有禁手,白方无禁手。黑方禁手有三三禁手、四四禁手和长连禁手三种。
参考资料来源:百科-五子棋