老鼠走迷宫(java)
作者:互联网
package day21; //1为障碍物,0为路 class migong{ public boolean zhaolu(int [][]a1,int i,int j){ if(a1[6][5]==2)//如果到达终点就结束 return true; else { if(a1[i][j]==0){//如果当前位置可走,就置为2 a1[i][j]=2; if(zhaolu(a1,i+1,j)) return true;//向下走 else if(zhaolu(a1,i,j+1)) return true;//向右走 else if(zhaolu(a1,i-1,j)) return true;//向上走 else if(zhaolu(a1,i,j-1)) return true;//向左走 else {//走过但没有走通,就置为3 a1[i][j]=3; return false; } }else return false;//保证不往回走,当向下走之后下,右,左都走不通就会将值置为3,然后回到起点(回溯)重新走 } } } public class Show { public static void main(String[] args){ int [][] ditu=new int[8][7];//初始化迷宫 for(int i=0;i<7;i++){ ditu [0][i]=1; ditu [7][i]=1; } for(int i=0;i<8;i++){ ditu [i][0]=1; ditu [i][6]=1; } ditu[3][1]=1;//初始化障碍物 ditu[3][2]=1; migong migong=new migong(); migong.zhaolu(ditu,1,1); for(int i=0;i<ditu.length;i++){ for (int j=0;j<ditu[i].length;j++) System.out.print(ditu[i][j]); System.out.println(); } } }
标签:老鼠,java,int,迷宫,else,a1,zhaolu,return,true 来源: https://blog.csdn.net/m0_55997161/article/details/120394049