可能重复:递归迷宫求解?
所以我在一个文本文件阅读,这使得它成为一个二维数组,然后打印它出来了,起点是cha r S和结束点是F点,有效的移动只发生在虚线上,#号是墙壁,试图找到一个递归方法来做到这一点,让我的方法开始叫做escape(),但是iono该怎么做该算法。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Maze
{
char[][] maze = new char[12][12];
int startX, startY;
int endX, endY;
public Maze() throws IOException
{
create();
}
public void create() throws IOException
{
FileInputStream in = new FileInputStream("maze.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
for(int j = 0; j<maze.length; j++)
{
maze[j] = br.readLine().replaceAll(" ", "").toCharArray();
}
for(int i = 0; i<12; i++)
{
System.out.println("");
for (int j = 0; j<12;j++)
{
System.out.print(maze[i][j]);
}
}
for(int i = 0; i<12; i++)
{
for (int j = 0; j<12; j++)
{
if(maze[i][j] == 'S')
{
startX = i;
startY = j;
}
if (maze [i][j] == 'F')
{
endX = i;
endY = j;
}
}
}
escape(startX, startY);
}
public boolean escape(int x, int y)
{
return true;
}
}
想那第三次会的魅力?不要要求我们为你做功课。 – NickLH
不幸的是,最终有人*为他们做了他们的工作。 –
我认为我的答案是适当的,它指导,但不公然给代码。 – jli