迷宫问题源代码迷宫问题源代码 Ôø?,Ìý˵?ýÒ??ö×ßÃÔ??µÄ??ÇÏ?ºË?×ÅÇ?ÑØÒ??à×ß?? ??Ò?Ö?ÑØ×ó?à?òÒ?Ö?ÑØÓÒ?à???????ÌÐòʵÏÖÁËÕâÒ? Ë?Ïë??Ð?ÈËÒ?Ö?ÑØ×ó?à×ß?? ÃÔ??ÊÇËæ?úÉú?ɵÄ?? ?ªÊ?Ê?????Êý×Ö 1 ?ü?øÈëÈË???ØÖÆÄ?Ê?????w,s, a,d?Ö?ð?ú?íÉÏ,ÏÂ,×ó,ÓÒ??Ïò?? ?ªÊ?Ê??????ýÊý×Ö 1 ÒÔÍâµÄÈÎÒâ?ü?øÈë×Ô?...
to quit"); setcolor(BLUE); setfillstyle(LINE_FILL,BLUE); drawbg(bg,M,N,size,0,0); setcolor(WH99vE); x+=len;y+=len; drawman(x,y,len); setcolor(GREEN); outtextxy(60,120,"PRESS KEY <1> :YOU ,"); outtextxy(70,150,"OTHER KEY :AUTOMATIC"); setcolor(WH99vE); if((ch=getch())=='1'){ /* ÈË???ØÖÆ */ while((ch=getch())!='q'){ drawman(x,y,len); switch(ch){ case 'a': if(j>0&&bg[i][j-1]==0){ if(x>step){x-=step;j--;}; } break; case 's': if(i0&&bg[i-1][j]==0){ if(y>step){y-=step;i--;} } break; default :break; } drawman(x,y,len); delay(800); if(i>=M-1&&j>=N-1){ settextstyle(4,0,3); setcolor(RED); outtextxy(150,260,"YOU WIN!"); } setcolor(WH99vE); } closegraph(); }/* ÈË???ØÖÆ?áÊø */ else{ /* µçÄÔ?ØÖÆ */ /* direc?íÊ?ÉÏÒ???ÔË????Ïò */ /* ???íÊ?ÏÂÒ???ÔË????Ïò */ /* 0~3?Ö?ð?íÊ? Î???????????ÄÏ */ direc=2; i=j=0; while(i 0&&bg[i][j-1]==0){ x-=step;j--; direc=0; } else if(i>0&&bg[i-1][j]==0){ y-=step;i--; direc=1; } else { x+=step;j++; direc=2; } break; case 1: if(j>0&&bg[i][j-1]==0){ x-=step;j--; direc=0; } else if(i>0&&bg[i-1][j]==0){ y-=step;i--; direc=1; } else if(j 0&&bg[i-1][j]==0){ y-=step;i--; direc=1; } else if(j 0&&bg[i][j-1]==0){ x-=step;j--; direc=0; } else { y-=step;i--; direc=1; } break; default :break; } drawman(x,y,len); } getch(); closegraph(); }/* µçÄÔ?ØÖÆ?áÊø */ }/* main()?áÊø */ /* ?æÖÆÐ?ÈË */ void drawman(int x,int y,int len){ int r=len/4; rect(x-r,y-len,x+r,y-len+2*r); line(x,y-len+2*r,x,y); line(x-len,y,x+len,y); line(x,y,x-len,y+len); line(x,y,x+len,y+len); } /* ?æÖÆÃÔ??µØÍ? */ void drawbg(int bg[][N],int a,int b,int size,int x,int y){ int startx=x; int i,j; for(i=0;i=M-1&&j>=N-1)break; ran=(int)rand()*4; if(ran<1){ if(direc!=1&&i 0){ j--; direc=0; } } else if(ran<3){ if(direc!=3&&i>0){ i--; direc=1; } } else { if(direc!=0&&j