⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessdlg.cpp

📁 EVC开发的WinCE操作系统下的五子棋源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=4) goto loop2;
			}
	
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=7) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=7) goto loop2;
			}
			
	//Computer -1
	player=-1;
	maxnum=rgzl1(&i,&j);
	if(maxnum) goto loop2;
	
	//User 1
	player=1;
	maxnum=rgzl1(&i,&j);
	if(maxnum) goto loop2;
	
	//Computer -1
	player=-1;
	maxnum=rgzl2(&i,&j);
	if(maxnum) goto loop2;
	
	//User 1
	player=1;
	maxnum=rgzl2(&i,&j);
	if(maxnum) goto loop2;

	//Computer -1
	player=-1;
	maxnum=rgzl3(&i,&j);
	if(maxnum) goto loop2;
	
	//User 1
	player=1;
	maxnum=rgzl3(&i,&j);
	if(maxnum) goto loop2;
	
	//Computer -1
	player=-1;
	maxnum=rgzl4(&i,&j);
	if(maxnum) goto loop2;
	
	//User 1
	player=1;
	maxnum=rgzl4(&i,&j);
	if(maxnum) goto loop2;
	
	//Computer -1
	player=-1;
	maxnum=rgzl5(&i,&j);
	if(maxnum) goto loop2;
	
	//User 1
	player=1;
	maxnum=rgzl5(&i,&j);
	if(maxnum) goto loop2;
	
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=6) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=6) goto loop2;
			}
			
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=4) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=4) goto loop2;
			}
			
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=3) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=3) goto loop2;
			}

	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=3) goto loop2;
			}

	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=3) goto loop2;
			}
			
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=2) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=2) goto loop2;
			}
			
	//Computer -1
	player=-1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=1) goto loop2;
			}
			
	//User 1
	player=1;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==0)
			{
				maxnum=bd(i,j,&maxnum);
				if(maxnum>=1) goto loop2;
			}

loop1:
	randnum=rand()%((ROW+1)*(COL+1));
	i=randnum%(ROW+1);
	j=randnum/(COL+1);
loop2:
	if(nodes[i][j]!=0) goto loop1;
	nodes[i][j]=-1;
	player=-1;
	maxlen=bd(i,j,&maxnum);
	if(maxlen>=4)
	{
		gameover=true;
		return 1;
	}
	return 0;
}

int CChessDlg::rgzl1(int *tempi, int *tempj)
{
	int i,j;
	for(i=0;i<=ROW;i++)
		for(j=0;j<=COL;j++)
			if(nodes[i][j]==player)
			{
				if(nodes[i+1][j]==player&&nodes[i+2][j]==player&&nodes[i+3][j]!=-player&&nodes[i-1][j]!=-player&&i>0&&i<=ROW-3)
				{
					if(nodes[i+4][j]==player&&i<=ROW-4)
					{
						(*tempi)=i+4;
						(*tempj)=j;
						return 1;
					}
					else
					{
						(*tempi)=i-1;
						(*tempj)=j;
						return 1;
					}
				}
				
				if(nodes[i+1][j+1]==player&&nodes[i+2][j+2]==player&&nodes[i+3][j+3]!=-player&&nodes[i-1][j-1]!=-player&&i>0&&j>0&&i<=ROW-3&&j<=COL-3)
				{
					if(nodes[i+4][j+4]==player&&i<=ROW-4&&j<=COL-4)
					{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -