求C#以不同算法写的迷宫算法

yaodie_com 2008-09-20 04:43:02
如题,一种算法,给20分.懂的人帮我想想
...全文
563 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
soyimimj 2011-03-28
  • 打赏
  • 举报
回复
想问下最小路径出现2条以上,怎么办?
ap0606122 2011-02-16
  • 打赏
  • 举报
回复
留个记号
erydemimi 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zswang 的回复:]
C# code
/// <summary>
/// 走迷宫
/// </summary>
/// <param name="maze">迷宫矩阵</param>
/// <param name="curr">当前位置</param>
/// <param name="dest">目标位置</param>
/// <returns>返回是否走到终点</returns>
private bool S……
[/Quote]

10楼算法 不能求出最短路径
a18ccms 2009-12-30
  • 打赏
  • 举报
回复
2222222222222000000000000000000000000000
1111111111112111111111111111111110111111
1222222222222100000000000000000010122222
1211111111110101111111111111111010121112
1210000000000101000000000000001010121012
1211111111111101111111111111101010121012
1222222222222222222200000000101010121012
1011111111111111111211111111101010121012
1010000000000000001210000000001010121012
1010111111111111111211111011101010121012
1010100000000000000222221010101010121012
1010101111111111111111121010101010121012
1010101000000000000000121010101010121012
1010101011111111111110121010101010121012
1010101012222222222210121010101010121012
1010101012111111111210121010101010121012
1010101012100000001210121010101010121012
1010101012101111111210121010101010121012
1010101012101222222210121010101010121012
1010111012101211111110121010101010121012
1010000012101210000000121010101010121012
1010111012101211111111121010101010121012
1010101012101222222222221010101010121012
1010101012101111111111111010101010121012
1010101012100000000000000010101010121012
1010101012111111111111111110101010121012
1010101012222222222222222200101010121012
1010101011111111111111111211101010121012
1010101000000000000000001210001010121012
1010101111111111111111111211101010121012
1010100000000000000000000222101010121012
1010111111111111111111111112101010121012
1010000000000000000000000012101010121012
1011111111111110111111111012101010121012
1000000000000010100000000012101010121012
1011111111111110101111111012101110121012
1010000000000000101000000012100000121012
1011111111111111101011111112111111121012
1000000000000000001010000002222222221012
1111111111111111111011111111111111111012
0000000000000000000000000000000000000012
pearless 2009-11-22
  • 打赏
  • 举报
回复
sp1234,很精彩。
不过如何求最短路径呢?网上几乎找不到有效的算法。
彦雷 2009-06-24
  • 打赏
  • 举报
回复
这么复杂啊
slin60 2008-09-23
  • 打赏
  • 举报
回复
mark
yaodie_com 2008-09-23
  • 打赏
  • 举报
回复
有没有人跟我介绍下广度算法?
yaodie_com 2008-09-22
  • 打赏
  • 举报
回复
个人顶上了~~
yaodie_com 2008-09-22
  • 打赏
  • 举报
回复
哦~~~好学习了~
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
不好意思,我看错了,呵呵,.......把边界给忽视了.......
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
zswang


我想请问下,为什么,我把你上面那个迷宫的数组的初始化改掉,输出的结果就会出问题,甚至没有结果?


我刚才把你那个数组改为

{1,1,1,1,1,1,1,1,1,1},
{1,0,1,1,1,0,0,0,1,1},
{1,0,0,1,1,0,1,0,1,1},
{1,0,0,0,0,0,1,0,1,1},
{1,1,0,1,0,1,1,0,1,1},
{1,1,0,1,0,1,1,0,1,1},
{1,0,0,0,1,1,1,0,1,1},
{1,1,0,0,0,0,0,0,1,1},
{1,1,1,1,1,1,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1}

输出的结果只是把这些数组一一输出,没有结果
王集鹄 2008-09-21
  • 打赏
  • 举报
回复
你的调试代码怎么写的。[img=http://p.blog.csdn.net/images/p_blog_csdn_net/renrousousuo/47.gif]图[/img]

如果不是这样当然输出就不一样了
Console.Write("{0}", maze[i, j]);


这类是细节输出的问题,自己动手改改就可以了。
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}000000000000000000000000000“WindowsApplication1.vshost.exe”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_zh-CHS_b77a5c561934e089\mscorlib.resources.dll”,未加载符号。
1111111111112: {0}11111111111111111111011111112: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}10000000000000000001012: {0}2: {0}2: {0}2: {0}2: {0}12: {0}1111111111010111111111111111101012: {0}1112: {0}12: {0}100000000001010000000000




0000101012: {0}1012: {0}12: {0}1111111111110111111111111110101012: {0}1012: {0}12: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}0000000010101012: {0}1012: {0}10111111111111111112: {0}1111111110101012: {0}1012: {0}10100000000000000012: {0}1000000000101012: {0}1012: {0}10101111111111111112: {0}1111101110101012: {0}1012: {0}10101000000000000002: {0}2: {0}2: {0}2: {0}2: {0}101010101012: {0}1012: {0}101010111111111111111112: {0}101010101012: {0}1012: {0}101010100000000000000012: {0}101010101012: {0}1012: {0}101010101111111111111012: {0}






101010101012: {0}1012: {0}1010101012: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}1012: {0}101010101012: {0}1012: {0}1010101012: {0}1111111112: {0}1012: {0}101010101012: {0}1012: {0}1010101012: {0}1000000012: {0}1012: {0}101010101012: {0}1012: {0}1010101012: {0}1011111112: {0}1012: {0}101010101012: {0}1012: {0}1010101012: {0}1012: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}1012: {0}101010101012: {0}1012: {0}1010111012: {0}1012: {0}1111111012: {0}101010101012: {0}1012: {0}1010000012: {0}1012: {0}1000000012: {0}101010101012: {0}1012: {0}1010111012: {0}1012: {0}1111111112: {0}101010101012: {0}1012: {0}1010101012: {0}1012: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}2: {0}101010101012: {0}1









我在输出窗口中看到的是这些,没有转化,是为什么?
王集鹄 2008-09-21
  • 打赏
  • 举报
回复
在WinForm下
System.Console.WriteLine("Debug日志");

System.Diagnostics.Debug.WriteLine("Debug日志");
相当

在VS Output窗口可以看到日志,这样省去加一个TextBox控件并且还能移植到控制台程序,何乐不为?
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
10楼的代码应该在windows应用程序下编写的吧,为什么用console.write这样前台会显示吗?

疑问中..............
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
嗯,简洁~~~~~~~
Deathsign 2008-09-21
  • 打赏
  • 举报
回复
但是每走都要记下当前地图的状态
CreateMapState干的就是这个
Walk是开始走迷宫
CheckOut是检查出口和入口推出的路线有无重叠点
如果没有就继续推 如果有就EXIT···打出路线
Print是我调试用的。。没用……
struct MapState
{
public int[,] Map;地图的位置状态
public Point Current;但前走到哪个点
public bool Flag;是入口推出点还是出口推出的点
}
Deathsign 2008-09-21
  • 打赏
  • 举报
回复
哦···
其实2头和1头开始都是一回事
你一开始就压个坐标进队列
一个是入口,一个是出口
然后宽度优先搜索·····
最后如果出口和入口的坐标推出的路线有点重叠就找到出路了···
yaodie_com 2008-09-21
  • 打赏
  • 举报
回复
Deathsign


你能不能把你设计的那段代码的设计思路贴上来~~~


你是统代码,没有标注,看起来,有点吃力~~~


加载更多回复(33)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧