我有一个任务,我应该能够显示从入口到出口的迷宫的路径,我已经让它工作到一定程度,但当迷宫变得更加复杂的死胡同,这样的程序进入无限递归.如果你能给我任何帮助,指出我正确的方向,我将不胜感激.
Mu当前的理论可以在Room类中找到.
这里是Room类,其中存储了连接迷宫的每个房间的引用,有点像链接列表,链接在6个方向,北,南,东,西,上和下.
import java.util.ArrayList;
public class OurRoom
{
private OurRoom exits[];
private String name;
private static ArrayList<OurRoom> list;
public OurRoom()
{
this(null);
}
public OurRoom(String name)
{
this.name = name;
this.list = new ArrayList<OurRoom>();
exits = new OurRoom[Direction.values().length];
for(OurRoom exit : exits)
{
exit = null;
}
}
public void connectTo(OurRoom theOtherRoom, Direction direction)
{
exits[direction.ordinal()] = theOtherRoom;
theOtherRoom.exits[direction.getOpposite().ordinal()] = this;
}
public OurRoom getExit(Direction direction)
{
return exits[direction.ordinal()];
}
public boolean lookExit(Direction direction)
{
return exits[direction.ordinal()] != null; …Run Code Online (Sandbox Code Playgroud)