#include #include #include using namespace std; const int X = 21; //棋盘行数 const int Y = 21; //棋盘列数 char p[X][Y]; //定义棋盘 int m=0;//定义临时点,保存输入坐标 int n=0; void display() //输出棋盘 { for(int i=0; i >m; cout<<"请输入落子的列数:"; cin>>n; if(m<=0||m>=X||n>=Y||n<=0) { cout<<"超出棋盘范围,请重新输入正确坐标!\n"; black(); } else if((p[m][n]==1)||p[m][n]==2) { cout<<"该点已有棋子,请重新选取落子点!\n"; black(); } else p[m][n]=1; //黑方用1来表示 display(); } void red() //红方落子 { cout<<"请红方输入落子位置:\n" <<"请输入落子的行数:"; cin>>m; cout<<"请输入落子的列数:"; cin>>n; if(m>=X||m<=0||n<=0||n>=Y) { cout<<"超出棋盘范围,请重新输入正确坐标!\n"; red(); } else if((p[m][n]==1)||p[m][n]==2) { cout<<"该点已有棋子,请重新选取落子点!\n"; red(); } else p[m][n]=2; //红方用2来表示 display(); } int evalue() //只需要判断落子点为中心的九点“米”字是否连续即可 { int k = 0,r = 0; /*斜线判断*/ for(k=3;k