新葫芦兄弟第一季上篇:小鼠走迷宫程序请教

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 07:26:35
#include "stdlib.h"
#include "time.h"
#include "stdio.h"
#include "conio.h"
main()
{int x,y,a[72][22];
char o;
int c,d,four,k=0,i,end,step;
randomize();
/* printf("Do you want it run or step?(0/1)");
scanf("%d",&step);*/
clrscr();
for(x=0;x < 72;x++){
for (y=0;y < 22;y++){
if ((y==0)||(x==0)||(x==71)||(y==21)) {
a[x][y]=11;
continue;}
if (random(3)==0) {
a[x][y]=11;
gotoxy(x,y);
printf("#");
}
else
a[x][y]=1;
}
}

for(y=1;y < 10;y++)
{ a[1][y]=1;
gotoxy(1,y);
printf(" ");
a[70][21-y]=1;
gotoxy(70,21-y);
printf(" ");
}
x=1;
y=1;
end=0;
gotoxy(1, 23);
printf("Step?(1/0) ");
scanf("%d", &step);
//Above is to prepare the Maze. Now, our little mouse is comming.

while((x < 70)||(y < 20)) {

c=x;d=y;four=0;
do{
k++;
if ((a[x+1][y]==1)||((a[x+1][y]%7==0)&&(a[x][y]%2!=0)&&(four==1)))
{
a[x][y]=a[x][y]*2;
x=x+1;
break;
}
if ((a[x][y+1]==1)||((a[x][y+1]%5==0)&&(a[x][y]%3!=0)&&(four==1)))
{
a[x][y]=a[x][y]*3;
y=y+1;
break;
}
if ((a[x][y-1]==1)||((a[x][y-1]%3==0)&&(a[x][y]%5!=0)&&(four==1)))
{
a[x][y]=a[x][y]*5;
y=y-1;
break;}
if ((a[x-1][y]==1)||((a[x-1][y]%2==0)&&(a[x][y]%7!=0)&&(four==1)))
{a[x][y]=a[x][y]*7;
x=x-1;
break;
}
four++;
if (four == 2){
gotoxy(25, 23); printf("Cannot go out!");
end=1;
break;}

if (k>3000) {
gotoxy(30, 23); printf("Too long!");
end=1;
break;}
}while(1);
if (end==1) break;
/* gotoxy(x,y);printf("*");*/
gotoxy(c,d);printf("-");
gotoxy(16, 23); printf("step:%d ", k);
gotoxy(x,y); printf("*");
if (step==1) getch();
}/* no end point*/
if (end==1) printf("Error.");
else printf("ok!");
getch();
}/*end main()*/

有很多看不懂
是否有高手能够帮我分块注释一下?

不行,就算200分都很少有人理你!0分压根没人会理睬