大家好,我是一位萌新,我自己制作了五子棋的代码,其中,玩法是先输入棋盘大小,再来输入要下的坐标位置,0代表没有棋子,1代表是黑子,2代表是白子,祝大家玩的愉快,也请大佬们尽情提出修改意见
#include<iostream>
using namespace std;
int a[1005][1005];
int main(){
int n,x,y;
int cnt=1;
cin>>n;
while(cin>>x>>y)
{
if(x<1||y<1||x>n||y>n||a[x][y]!=0)
{
cout<<"犯规,对方胜";
return 0;
}
if(cnt%2==1)
a[x][y]=1;
else
a[x][y]=2;
cnt++;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]==a[i][j+1]&&a[i][j+1]==a[i][j+2]&&a[i][j+2]==a[i][j+3]&&a[i][j+3]==a[i][j+4]&&a[i][j+4]==1)
{
cout<<"黑方胜,对弈结束";
return 0;
}
else if(a[i][j]==a[i][j+1]&&a[i][j+1]==a[i][j+2]&&a[i][j+2]==a[i][j+3]&&a[i][j+3]==a[i][j+4]&&a[i][j+4]==2)
{
cout<<"白方胜,对弈结束";
return 0;
}
if(a[i][j]==a[i+1][j]&&a[i+1][j]==a[i+2][j]&&a[i+2][j]==a[i+3][j]&&a[i+3][j]==a[i+4][j]&&a[i+4][j]==1)
{
cout<<"黑方胜,对弈结束";
return 0;
}
else if(a[i][j]==a[i+1][j]&&a[i+1][j]==a[i+2][j]&&a[i+2][j]==a[i+3][j]&&a[i+3][j]==a[i+4][j]&&a[i+4][j]==2)
{
cout<<"白方胜,对弈结束";
return 0;
}
if(a[i][j]==a[i+1][j+1]&&a[i+1][j+1]==a[i+2][j+2]&&a[i+2][j+2]==a[i+3][j+3]&&a[i+3][j+3]==a[i+4][j+4]&&a[i+4][j+4]==1)
{
cout<<"黑方胜,对弈结束";
return 0;
}
else if(a[i][j]==a[i+1][j+1]&&a[i+1][j+1]==a[i+2][j+2]&&a[i+2][j+2]==a[i+3][j+3]&&a[i+3][j+3]==a[i+4][j+4]&&a[i+4][j+4]==2)
{
cout<<"白方胜,对弈结束";
return 0;
}
}
}
}
return 0;
}