求JAVA迷宫程序,求大神给力。。。

就是JAVA写得走迷宫,越简单越好,求大神啊不然要挂科了。。。... 就是JAVA写得走迷宫,越简单越好,求大神啊 不然要挂科了。。。 展开
 我来答
zpsailor
2011-01-05 · TA获得超过2018个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:705万
展开全部
这是我算法课中期作业的时候写的一个Java迷宫。
基于Swing的,代码不多,还是挺简单的。连算法说明我都写成文档了,发到我的javaeye博客了。
网址如下:http://zpsailor.javaeye.com/blog/651141
希望对你有所帮助。
diabolicly
2011-01-05 · TA获得超过519个赞
知道小有建树答主
回答量:584
采纳率:0%
帮助的人:344万
展开全部
请按照这个网址里的去做
http://www.vckbase.com/document/viewdoc/?id=1422
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Monkey家园
2011-01-05 · TA获得超过5638个赞
知道大有可为答主
回答量:1134
采纳率:60%
帮助的人:645万
展开全部
739227481+
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友00d72f1
2011-01-05
知道答主
回答量:12
采纳率:0%
帮助的人:9.5万
展开全部
这是用递归解的,只是方法
public class Maze
{
private final int TRIED = 3;
private final int PATH = 7;

private int[][] grid = { {1,1,1,0,1,1,0,0,0,1,1,1,1},//这只是一个示例的迷宫,0代表死路1代表通路
{1,0,1,1,1,0,1,1,1,1,0,0,1},
{0,0,0,0,1,0,1,0,1,0,1,0,0},
{1,1,1,0,1,1,1,0,1,0,1,1,1},
{1,0,1,0,0,0,0,1,1,1,0,0,1},
{1,0,1,1,1,1,1,1,0,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1,1,1,1} };

public boolean traverse (int row, int column)
{
boolean done = false;

if (valid (row, column))
{
grid[row][column] = TRIED; // 此格被试过
if (row == grid.length-1 && column == grid[0].length-1)
done = true; // 迷宫解决
else
{
done = traverse (row+1, column); // 下
if (!done)
done = traverse (row, column+1); // 右
if (!done)
done = traverse (row-1, column); // 上
if (!done)
done = traverse (row, column-1); // l左
}

if (done)
grid[row][column] = PATH;
}

return done;
}

private boolean valid (int row, int column)
{
boolean result = false;

if (row >= 0 && row < grid.length &&
column >= 0 && column < grid[row].length)

if (grid[row][column] == 1)
result = true;

return result;
}

public String toString ()
{
String result = "\n";

for (int row=0; row < grid.length; row++)
{
for (int column=0; column < grid[row].length; column++)
result += grid[row][column] + "";
result += "\n";
}

return result;
}
}
下面的类调用上面的
public class MazeSearch
{
public static void main (String[] args)
{
Maze labyrinth = new Maze();

System.out.println (labyrinth);

if (labyrinth.traverse (0, 0))
System.out.println ("The maze was successfully traversed!");
else
System.out.println ("There is no possible path.");

System.out.println (labyrinth);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式