社区
C#
帖子详情
求C#以不同算法写的迷宫算法
yaodie_com
2008-09-20 04:43:02
如题,一种算法,给20分.懂的人帮我想想
...全文
563
53
打赏
收藏
求C#以不同算法写的迷宫算法
如题,一种算法,给20分.懂的人帮我想想
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
2
2
2
2
2
2
2
2
2
2
2
2
2
000000000000000000000000000
111111111111
2
111111111111111111110111111
1
2
2
2
2
2
2
2
2
2
2
2
2
1000000000000000000101
2
2
2
2
2
1
2
111111111101011111111111111110101
2
111
2
1
2
100000000001010000000000000010101
2
101
2
1
2
111111111111011111111111111010101
2
101
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
000000001010101
2
101
2
1011111111111111111
2
111111111010101
2
101
2
1010000000000000001
2
100000000010101
2
101
2
1010111111111111111
2
111110111010101
2
101
2
1010100000000000000
2
2
2
2
2
10101010101
2
101
2
10101011111111111111111
2
10101010101
2
101
2
10101010000000000000001
2
10101010101
2
101
2
10101010111111111111101
2
10101010101
2
101
2
101010101
2
2
2
2
2
2
2
2
2
2
2
101
2
10101010101
2
101
2
101010101
2
111111111
2
101
2
10101010101
2
101
2
101010101
2
100000001
2
101
2
10101010101
2
101
2
101010101
2
101111111
2
101
2
10101010101
2
101
2
101010101
2
101
2
2
2
2
2
2
2
101
2
10101010101
2
101
2
101011101
2
101
2
111111101
2
10101010101
2
101
2
101000001
2
101
2
100000001
2
10101010101
2
101
2
101011101
2
101
2
111111111
2
10101010101
2
101
2
101010101
2
101
2
2
2
2
2
2
2
2
2
2
2
10101010101
2
101
2
101010101
2
1011111111111110101010101
2
101
2
101010101
2
1000000000000000101010101
2
101
2
101010101
2
1111111111111111101010101
2
101
2
101010101
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
001010101
2
101
2
1010101011111111111111111
2
111010101
2
101
2
1010101000000000000000001
2
100010101
2
101
2
1010101111111111111111111
2
111010101
2
101
2
1010100000000000000000000
2
2
2
1010101
2
101
2
101011111111111111111111111
2
1010101
2
101
2
101000000000000000000000001
2
1010101
2
101
2
101111111111111011111111101
2
1010101
2
101
2
100000000000001010000000001
2
1010101
2
101
2
101111111111111010111111101
2
1011101
2
101
2
101000000000000010100000001
2
1000001
2
101
2
101111111111111110101111111
2
1111111
2
101
2
100000000000000000101000000
2
2
2
2
2
2
2
2
2
101
2
111111111111111111101111111111111111101
2
000000000000000000000000000000000000001
2
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)
C#
实现4种经典
迷宫
生成
算法
和
迷宫
寻路
算法
C#
实现4种经典
迷宫
生成
算法
和
迷宫
寻路
算法
,4种经典的
迷宫
生成
算法
是:(1)使用并查集
算法
生成,(2)使用深度优先
算法
生成,(3)使用随机
算法
生成,(4)使用递归切割
算法
,而
迷宫
寻路使用A*
算法
。
c#
迷宫
求
解
算法
c#
迷宫
求
解
算法
根据严蔚敏c得来
c#
迷宫
求
解
算法
c#
广度优先
算法
做的
迷宫
c#
做的广度优先
算法
做的
迷宫
winfrom做的
A*
算法
的
迷宫
演示(
C#
实现)
A*
算法
的
迷宫
演示(
C#
实现),含有详尽代码以及注释
C#
实现
迷宫
算法
(使用堆栈)
这是我自己
写
的一个
迷宫
算法
,可以运行,不过没有包括可以随机生成正确
迷宫
的
算法
。随机数生成的我自己测试还没出现过能走出
迷宫
的。
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章