萌新的第一个小游戏

大家好,我是一位萌新,我自己制作了五子棋的代码,其中,玩法是先输入棋盘大小,再来输入要下的坐标位置,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; 
}
2 个赞

可以先将棋盘写出来,然后标号,不然你下哪里都不知道 :smiling_face_with_tear:

2 个赞