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

📄 mouse_puzzle.java

📁 老鼠走迷宫的代码,用java编程完成
💻 JAVA
字号:
/**
 * 
 */

/**
 * @author chenlf
 *
 */
public class Mouse {

	private int startI, startJ;  // 入口    
    private int endI, endJ;  // 出口   
    private boolean success = false;   
      
    public static void main(String[] args) 
    {   
        int[][] maze = {{2, 2, 2, 2, 2, 2, 2},    
                       {2, 0, 0, 0, 0, 0, 2},    
                       {2, 0, 2, 0, 2, 0, 2},    
                       {2, 0, 0, 2, 0, 2, 2},    
                       {2, 2, 0, 2, 0, 2, 2},    
                       {2, 0, 0, 0, 0, 0, 2},    
                       {2, 2, 2, 2, 2, 2, 2}};   
       
        System.out.println("显示迷宫:");    
        for(int i = 0; i < maze.length; i++)
        {    
            for(int j = 0; j < maze[0].length; j++) 
            {
                if(maze[i][j] == 2) 
                {
                    System.out.print("██"); 
                }
                else 
                {
                    System.out.print("  ");
                }
            }
            System.out.println();    
        }   
 
        Mouse mouse = new Mouse();   
        mouse.setStart(1, 1);   
        mouse.setEnd(5, 5);   
           
        if(!mouse.go(maze)) 
        {   
            System.out.println("\n没有找到出口!");   
        }   
        else 
        {   
            System.out.println("\n找到出口!");   
            for(int i = 0; i < maze.length; i++) 
            {    
                for(int j = 0; j < maze[0].length; j++) 
                {    
                   if(maze[i][j] == 2)
                   {
                       System.out.print("2");  
                   }
                    else if(maze[i][j] == 1)
                    {
                        System.out.print("1"); 
                    }  
                    else 
                    {
                        System.out.print("0");  
                    }
                 }    
                 System.out.println();    
            }               
       }   
   }   
           
    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 boolean go(int[][] maze) 
    {   
        return visit(maze, startI, startJ);   
   }   
       
    private boolean visit(int[][] maze, int i, int j) 
    {   
        maze[i][j] = 1;    
  
        if(i == endI && j == endJ) 
        {
                success = true;  
        }
  
        if(!success && maze[i][j+1] == 0) 
        {
                visit(maze, i, j+1);   
        }
        if(!success && maze[i+1][j] == 0)
        {
                visit(maze, i+1, j); 
        }
        if(!success && maze[i][j-1] == 0) 
        {
              visit(maze, i, j-1);  
        }
       if(!success && maze[i-1][j] == 0) 
       {
                visit(maze, i-1, j);  
       }
  
       if(!success) 
       {
              maze[i][j] = 0; 
       }  
           
        return success;    
   }   


}

⌨️ 快捷键说明

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