陳鍾誠的程式作品集 -- 老鼠走迷宮

程式作品

C 語言

Java

C#

JavaScript

常用函數

文字處理

遊戲程式

衛星定位

系統程式

資料結構

網路程式

自然語言

人工智慧

機率統計

資訊安全

等待完成

訊息

相關網站

參考文獻

最新修改

簡體版

English

class PathFinder
{
    public static void main(String arges[])
    {
        char m[][]={
            {'*','*','*','*','*','*','*','*'},
            {'*','*',' ','*',' ','*','*','*'},
            {' ',' ',' ',' ',' ','*','*','*'},
            {'*',' ','*','*','*','*','*','*'},
            {'*',' ',' ',' ',' ',' ','*','*'},
            {'*','*','*','*','*',' ','*','*'}};
        findPath(m, 2,0);
        print(m);
    }
 
    public static void print(char m[][]) {
        for(int i=0;i<m.length;i++)
        {
           for(int j=0;j<m[i].length;j++)
              System.out.print(m[i][j]);
              System.out.println();
        }
    }
 
    public static boolean findPath(char m[][], int x,int y)
    {
        System.out.println("=========================");
        System.out.println("x="+x+" y="+y);
        print(m);
        System.out.println("=========================");
        if (x>=6||y>=8) return false;
        if (m[x][y] == '*') return false;
        if (m[x][y] == '+') return false;
        if (m[x][y] == ' ') m[x][y] = '.';
        if (m[x][y] == '.' && (x == 5 || y==7)) return true;
        if(y<7&&m[x][y+1]==' ') //向右
              if (findPath(m, x,y+1)) return true;
        if(x<5&&m[x+1][y]==' ') //向下
            if (findPath(m, x+1,y)) return true;
        if(y>0&&m[x][y-1]==' ') //向左
            if (findPath(m, x,y-1)) return true;
        if(x>0&&m[x-1][y]==' ') //向上
            if (findPath(m, x-1,y)) return true;
           m[x][y]='+';
        return false;
    }
}

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License