五子棋(
2025-04-22 08:18:00
发布于:浙江
#include<bits/stdc++.h>
using namespace std;
int a[31][31];
int c,k;
int main(){
cout<<"欢迎来到“氮氧氢氦氩氖氪氙氡氟氯”制作的五子棋程序!"<<endl;
cout<<"请输入棋盘的长和宽(长和宽在5以上30以内):"<<endl;
while(true){
cin>>c>>k;
if(c<=30&&k<=30&&c>=5&&k>=5){
break;
}
cout<<"输入错误,请重新输入:"<<endl;
}
for(int i=1;i<=c*k;i++){
for(int c2=1;c2<=c;c2++){
for(int k2=1;k2<=k;k2++){
if(a[c2][k2]==0)cout<<"- ";
else if(a[c2][k2]1)cout<<"O ";
else cout<<"X ";
}
cout<<endl;
}
int x,y;
if(i%21){
cout<<"现在轮到玩家一下,请问下在哪里?(输入行和列)"<<endl;
while(true){
cin>>y>>x;
if(x>c||y>k||x<1||y<1){
cout<<"出界了,请重新输入:"<<endl;
}
else if(a[x][y]!=0){
cout<<"重叠了,请重新输入:"<<endl;
}
else break;
}
a[x][y]=1;
for(int c3=1;c3<=c;c3++){
for(int k3=1;k3<=k;k3++){
if(a[c3][k3]!=1)continue;
if((a[c3][k3+1]==1&&a[c3][k3+2]==1&&a[c3][k3+3]==1&&a[c3][k3+4]==1) || (a[c3][k3-1]==1&&a[c3][k3-2]==1&&a[c3][k3-3]==1&&a[c3][k3-4]==1) || (a[c3+1][k3]==1&&a[c3+2][k3]==1&&a[c3+3][k3]==1&&a[c3+4][k3]==1) || (a[c3-1][k3]==1&&a[c3-2][k3]==1&&a[c3-3][k3]==1&&a[c3-4][k3]==1) || (a[c3+1][k3+1]==1&&a[c3+2][k3+2]==1&&a[c3+3][k3+3]==1&&a[c3+4][k3+4]==1) || (a[c3-1][k3-1]==1&&a[c3-2][k3-2]==1&&a[c3-3][k3-3]==1&&a[c3-4][k3-4]==1) || (a[c3+1][k3-1]==1&&a[c3+2][k3-2]==1&&a[c3+3][k3-3]==1&&a[c3+4][k3-4]==1) || (a[c3-1][k3+1]==1&&a[c3-2][k3+2]==1&&a[c3-3][k3+3]==1&&a[c3-4][k3+4]==1)){
for(int c2=1;c2<=c;c2++){
for(int k2=1;k2<=k;k2++){
if(a[c2][k2]==0)cout<<"- ";
else if(a[c2][k2]==1)cout<<"O ";
else cout<<"X ";
}
cout<<endl;
}
cout<<"恭喜玩家一胜利!";
return 0;
}
}
}
}
else{
cout<<"现在轮到玩家二下,请问下在哪里?(输入行和列)"<<endl;
while(true){
cin>>y>>x;
if(x>c||y>k||x<1||y<1){
cout<<"出界了,请重新输入:"<<endl;
}
else if(a[x][y]!=0){
cout<<"重叠了,请重新输入:"<<endl;
}
else break;
}
a[x][y]=2;
for(int c3=1;c3<=c;c3++){
for(int k3=1;k3<=k;k3++){
if(a[c3][k3]!=2)continue;
if((a[c3][k3+1]==2&&a[c3][k3+2]==2&&a[c3][k3+3]==2&&a[c3][k3+4]==2) || (a[c3][k3-1]==2&&a[c3][k3-2]==2&&a[c3][k3-3]==2&&a[c3][k3-4]==2) || (a[c3+1][k3]==2&&a[c3+2][k3]==2&&a[c3+3][k3]==2&&a[c3+4][k3]==2) || (a[c3-1][k3]==2&&a[c3-2][k3]==2&&a[c3-3][k3]==2&&a[c3-4][k3]==2) || (a[c3+1][k3+1]==2&&a[c3+2][k3+2]==2&&a[c3+3][k3+3]==2&&a[c3+4][k3+4]==2) || (a[c3-1][k3-1]==2&&a[c3-2][k3-2]==2&&a[c3-3][k3-3]==2&&a[c3-4][k3-4]==2) || (a[c3+1][k3-1]==2&&a[c3+2][k3-2]==2&&a[c3+3][k3-3]==2&&a[c3+4][k3-4]==2) || (a[c3-1][k3+1]==2&&a[c3-2][k3+2]==2&&a[c3-3][k3+3]==2&&a[c3-4][k3+4]==2)){
for(int c2=1;c2<=c;c2++){
for(int k2=1;k2<=k;k2++){
if(a[c2][k2]==0)cout<<"- ";
else if(a[c2][k2]==1)cout<<"O ";
else cout<<"X ";
}
cout<<endl;
}
cout<<"恭喜玩家二胜利!";
return 0;
}
}
}
}
}
return 0;
}
这里空空如也
有帮助,赞一个