#include"stdio.h"
#include"stdlib.h"
#include"dos.h"
#include"conio.h"
main()
{clrscr();
printf("11*11 random maze:\n");
int num,b,line,row,startx,starty,i,j;
randomize();
num=random(32767);
int a[11][11];
for(i=0;i<=10;i++)
for(j=0;j<=10;j++)a[i][j]=1;
row=startx=0;
line=starty=num%10;
a[row][line]=0;
while(row<10){
num=random(32767);//printf("%d ",b);printf("%d\n",num);
b=num%3;
if( b==0){if(row<10)row++;exit; }
if( b==1){if((line<10 )&&(a[row-1][line+1]!=0))line++;exit; }
if(b==2){if((line>1)&&(a[row-1][line-1]!=0))line--; exit;}
a[row][line]=0;
}
for(i=0;i<=10;i++)
for(j=0;j<=10;j++) {num=random(32767);b=num%10;
if(a[i][b-1]!=0&&a[i][b+1]!=0)a[i][b]=0;
gotoxy(5+j,5+i);printf("%d",a[i][j]);}
gotoxy(5+starty,5+startx);
int x,y,p;
x=startx;y=starty;p=a[startx][starty];
while(x<10){
switch(getch()){
case 72:printf("%d",p);if(a[x-1][y]==0)x--;break;
case 80:printf("%d",p);if(a[x+1][y]==0)x++;break;
case 75:printf("%d",p);if(a[x][y-1]==0)y--;break;
case 77:printf("%d",p);if(a[x][y+1]==0)y++;break;
}
p=a[x][y];
gotoxy(5+y,5+x);printf("@");gotoxy(5+y,5+x);
}if(x==10)printf("\n\ngood!!!");
getch();
return 1;
}