//井字棋游戏
//2024年6月26日17:11:37
#include <bits/stdc++.h>
using namespace std;
int a[3][3];
int judge(){
for(int i=0;i<3;i++){
if(a[0][i]!=0&&a[0][i]==a[1][i]&&a[1][i]==a[2][i]){
return a[0][i];
}
}
for(int i=0;i<3;i++){
if(a[i][0]!=0&&a[i][0]==a[i][1]&&a[i][1]==a[i][2]){
return a[i][0];
}
}
if(a[0][0]!=0&&a[0][0]==a[1][1]&&a[1][1]==a[2][2]){
return a[0][0];
}
if(a[0][2]!=0&&a[0][2]==a[1][1]&&a[1][1]==a[2][0]){
return a[0][2];
}
return 0;
}
void output(){
cout<<"-------"<<endl;
for(int i=0;i<3;i++){
cout<<"|";
for(int j=0;j<3;j++){
if(a[i][j]==1){
cout<<"A";
}
else if(a[i][j]==2){
cout<<"B";
}
else{
cout<<" ";
}
cout<<"|";
}
cout<<endl<<"-------"<<endl;
}
}
int main(){
cout<<"This is our chess board:"<<endl;
output();
int optx,opty;
for(int i=0;i<9;i++){
int val=judge();
if(val==0){
if(i%2==0){
cout<<"It's player A's term:"<<endl;
cin>>optx>>opty;
while(optx<1||optx>3||opty<1||opty>3||a[optx-1][opty-1]!=0){
cout<<"Your input is wrong, please do it again."<<endl;
cin>>optx>>opty;
}
a[optx-1][opty-1]=1;
output();
}
else{
cout<<"It's player B's term:"<<endl;
cin>>optx>>opty;
while(optx<1||optx>3||opty<1||opty>3||a[optx-1][opty-1]!=0){
cout<<"Your input is wrong, please do it again."<<endl;
cin>>optx>>opty;
}
a[optx-1][opty-1]=2;
output();
}
}
else{
cout<<"Now, player "<<(char)('A'+val-1)<<" wins!!!"<<endl;
return 0;
}
}
int val=judge();
if(val==0){
cout<<"Oh no, you are draw..."<<endl;
}
else{
cout<<"Now, player "<<(char)('A'+val-1)<<" wins!!!"<<endl;
return 0;
}
return 0;
}
井字棋游戏(精编版)代码
最新推荐文章于 2024-07-15 15:17:48 发布