⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw01.java

📁 Java Maze 计算机自动生成迷宫
💻 JAVA
字号:
/**
 * 作業題目:
 * 老鼠走迷宮,請在 15x15的矩陣中,隨機產生0與1,
 * 以表示為通道或是牆,請找出這個迷宮的所有可以走的路徑。
 * @author E95024251 吳昇翰
 */
public class HW01{



	public static void main(String[] args) {
		int maze[][]=new int[15][15]; 
		int i,j;
		//initial
	   for(i=0;i<15;i++)
		  for(j=0;j<15;j++)
				 maze[i][j]=0;

	  //make border
      for(i=0;i<15;i++){
       maze[0][i] = 1;
       maze[14][i] = 1;
       maze[i][0] = 1;
       maze[i][14]=1;
	   }

	   int xx,yy;       //random position
	   int x_tmp,y_tmp; //backup position
	   int dir;         //directory way
	   int count;

		for(i=0;i<150;i++){
		//取偶數點 
		   xx = (int)(Math.random()*7)*2;
		   yy = (int)(Math.random()*7)*2;
		   x_tmp = xx;
           y_tmp = yy;
		 if(maze[xx][yy] == 0){
			 
			 do{
				count = 0; 
				xx = x_tmp;
				yy = y_tmp;
				dir = (int)(Math.random()*4);

				do{
				   count = count + 1;
				   switch (dir)
				   {
					  case 0: xx = xx-1;
							  break;
					  case 1: xx = xx+1;
							  break;
					  case 2: yy = yy+1;
							  break;
					  case 3: yy = yy-1;
							  break;
				   }
				}while(maze[xx][yy]!=1); // 確認是否已經碰到牆壁				

			 }while(count > 14); //長度不能超過陣列-邊緣的長度否則會產生死路
			   xx = x_tmp;
			   yy = y_tmp;
			   do{
				   maze[xx][yy] = 1;
				   switch (dir)
				   {
					  case 0: xx = xx-1;
							  break;
					  case 1: xx = xx+1;
							  break;
					  case 2: yy = yy+1;
							  break;
					  case 3: yy = yy-1;
							  break;
				   }
				}while(maze[xx][yy] != 1);
			}//if end 
		}//for end

		System.out.println("顯示迷宮:");
       //列印迷宮 
       for(i=0;i<maze.length;i++){
          for(j=0;j<maze.length;j++){
              if(maze[i][j]==1)
                 System.out.print("■");
              else
                 System.out.print("□");
          }
          System.out.println("");
		}

        Maxe mouse = new Maxe();
        mouse.setStart(1, 1);
        mouse.setEnd(13, 13);
        
        mouse.go(maze);


	}//main end 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -