color.c

来自「minigui编写五子球游戏! 请多指教!」· C语言 代码 · 共 1,249 行 · 第 1/3 页

C
1,249
字号
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }
			 
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
			   
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }	   
		}
	else if(y-y1>0&&x-x1<=0&&(abs(x-x1)<=abs(y-y1)))
		{
			printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;
				y=y+1;
			         }
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
			 if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }

			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }	   

		}
	else if(y1-y>0&&x>=x1&&(abs(x-x1)<=abs(y-y1)))
		{
			printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }	
			
			 if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }
			 
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
		      if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;	
				y=y+1;
			         }
			   

		}
	else if(y1-y>0&&x<=x1&&(abs(x-x1)<=abs(y-y1)))
		{
			printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }	
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
			 if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }
		      if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;	
				y=y+1;
			         }
			   

		}
	else if(x1>x&&y>=y1&&(abs(x-x1)>=abs(y-y1)))
	{
		{
		printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
			   
			if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;	
				y=y+1;
			         }

			
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }
			if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }

	}

	}
	else if(x1>x&&y1>=y&&(abs(x-x1)>=abs(y-y1)))
	{
		{
		printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }
			if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;	
				y=y+1;
			         }

			if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }

	}

	}	
	else if(x-x1>0&&y1<=y&&(abs(x-x1)>=abs(y-y1)))
	{
		printf("Move from %d,%d to %d,%d \n",x,y,x1,y1);
			if(Base[x-1][y].Kind==0&&(x-1>=0)&&Base[x-1][y].flag!=1)//shang
				   {
					x=x-1;
					printf("Move  up to %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x,  y, x1, y1)==1)
							return 1;	
					x=x+1;
				   }
			if(Base[x][y-1].Kind==0&&(y-1>=0)&&Base[x][y-1].flag!=1)//zuo
			         {
				y=y-1;
				printf("Move left to %d,%d;\n",x,y);
				Base[x][y].flag=1;
				while(x==x1&&y==y1)
					{
						printf("Move to DEST.\n");	
				   		return 1;
					}
				if(FindWay(x, y, x1, y1)==1)
						return 1;	
				y=y+1;
			         }

			
			if(Base[x][y+1].Kind==0&&(y+1<9)&&Base[x][y+1].flag!=1)//you
				   {
					y=y+1;
					printf("Move to right  %d,%d;\n",x,y);
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
					}
					if(FindWay( x, y,  x1, y1)==1)
							return 1;	
					y=y-1;
				   }	 
			if(Base[x+1][y].Kind==0&&(x+1<9)&&Base[x+1][y].flag!=1)//xia
				   {
					x=x+1;
					printf("Move down to %d,%d;\n",x,y);	
					Base[x][y].flag=1;
					while(x==x1&&y==y1)
						{
							printf("Move to DEST.\n");	
				   			return 1;
						}
					if(FindWay(x,  y,  x1, y1)==1)
							return 1;	
					x=x-1;
				   }

⌨️ 快捷键说明

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