maxe.java

来自「Java Maze 计算机自动生成迷宫」· Java 代码 · 共 56 行

JAVA
56
字号
public class Maxe{

  private int startI, startJ;  // 入口 
    private int endI, endJ;  // 出口

	public void setStart(int i, int j) {
        this.startI = i;
        this.startJ = j;
    }
    
    public void setEnd(int i, int j) {
        this.endI = i;
        this.endJ = j;
    }
    
    public void go(int[][] maze) {
        visit(maze, startI, startJ);
    }
    
    private void visit(int[][] maze, int i, int j) {
 
		maze[i][j] = 2; 
	
        if(i == endI && j == endJ) {
            System.out.println("\n找到出口!");
            for(int m = 0; m < maze.length; m++) { 
                for(int n = 0; n < maze[0].length; n++) { 
                    if(maze[m][n] == 1) 
                        System.out.print("■");
                    else if(maze[m][n] == 2) 
                        System.out.print("◇"); 
                    else 
                        System.out.print("  ");
                } 
                System.out.println();
            }
        }


        if(maze[i][j+1] == 0) 
            visit(maze, i, j+1); 
        if(maze[i+1][j] == 0)
            visit(maze, i+1, j); 
        if(maze[i][j-1] == 0)
            visit(maze, i, j-1); 
        if(maze[i-1][j] == 0)
            visit(maze, i-1, j); 
       

		maze[i][j] = 0;


    }
}

⌨️ 快捷键说明

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