陳鍾誠的程式作品集 -- 老鼠走迷宮
程式作品C 語言JavaC#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; } } |
page revision: 0, last edited: 04 Nov 2010 03:39
Post preview:
Close preview