#include
#include
#include
void dc(int a,int b,int c,int d){
setcolor(5);
circle(a,b,4);
setcolor(12);
circle(c,d,4);
delay(1500);}
main(){
int gm=0,gd=DETECT,m,n,x,y,a=105,b=105,i=0,j=0,flag=0;
int ar[6][6];
initgraph(&gd,&gm,"");
setbkcolor(12);
clrscr();
cleardevice();
for (m=0;m<6;m++)
for (n=0;n<6;n++)
rectangle(100+20*n,100+20*m,100+20*(n+1),100+20*(m+1));
setfillstyle(2,3);
bar(100+20,100,100+20*2,100+20);
bar(100,100+20*2,100+20,100+20*3);
bar(100+20*2,100+20*2,100+20*3,100+20*3);
bar(100+20,100+20*3,100+20*2,100+20*4);
bar(100+4*20,100+20*3,100+20*5,100+20*4);
bar(100+20*5,100+20*3,100+20*6,100+20*4);
bar(100+20*3,100+20*4,100+20*4,100+20*5);
bar(100,100+20*5,100+20,100+20*6);
bar(100+20*5,100+20*5,100+20*6,100+20*6);
setcolor(5);
circle(a,b,4);
for (x=0;x<6;x++)
for (y=0;y<6;y++)
ar[x][y]=0;
ar[0][0]=1;
ar[0][1]=-1;
ar[2][0]=-1;
ar[2][2]=-1;
ar[3][1]=-1;
ar[3][4]=-1;
ar[3][5]=-1;
ar[4][3]=-1;
ar[5][0]=-1;
ar[5][5]=-1;
while(flag==0){
if (ar[i][j]+ar[i][j+1]==1 && j+1<6)
{ar[i][j+1]=1;
j++;
dc(a,b,a+20,b);
a+=20;}
else if (ar[i][j]+ar[i+1][j]==1 && i+1<6)
{ar[i+1][j]=1;
i++;
dc(a,b,a,b+20);
b+=20;}
else if (ar[i][j]+ar[i][j-1]==1 && j-1>=0)
{ar[i][j-1]=1;
j--;
dc(a,b,a-20,b);
a-=20;}
else if (ar[i][j]+ar[i-1][j]==1 && i-1>=0)
{ar[i-1][j]=1;
i--;
dc(a,b,a,b-20);
b-=20;}
if (ar[4][5]==1)
{cout<<"FINISH";
delay(1000);
flag=1;}
}
}
این کار میکنه و درسته
