📄 color.c
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -