北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: maper

地图区域遍历算法求助

[复制链接]
发表于 2010-2-28 11:54:25 | 显示全部楼层
原帖由 seagate 于 2010-2-28 11:50 AM 发表
这个很好解决的。我对环状路径就是记日志,不计日志没法弄,不过我觉得遍历还是用深度优先原则比较好。每走一步四周看看实在比较麻烦。对于大范围区域搜索还是要预先制定路线,路线计算好了很快的。

如果可能的话,seagate说说你的遍历路,假设地图资料已经有了的情况下.
现在我就差遍历了..别的难点都解决了.
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-3-1 09:38:08 | 显示全部楼层
原帖由 lzkd 于 2010-2-28 11:54 AM 发表

如果可能的话,seagate说说你的遍历路,假设地图资料已经有了的情况下.
现在我就差遍历了..别的难点都解决了.


我想seagate的遍历方法可能不适合小刀你的想法,看看seagate的“复杂Mud机器人编写指引”。
如果是用mapper的思路去做的话,要么就要有mapper和seagate的编程水平,要么就要另外找办法,我初步有两个想法,一个是pp法,一个是大米遍历法。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-3-1 10:14:25 | 显示全部楼层
原帖由 hba 于 2010-3-1 09:38 AM 发表







我想seagate的遍历方法可能不适合小刀你的想法,看看seagate的“复杂Mud机器人编写指引”。

如果是用mapper的思路去做的话,要么就要有mapper和seagate的编程水平,要么就要另外找办法,我初步有两个想法,一个 ...


难度说,seagate的遍历方法是不需要地图数据资料的?如果那样,那就厉害了....我是写不了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-3-1 11:54:01 | 显示全部楼层
原帖由 lzkd 于 2010-3-1 10:14 AM 发表

难度说,seagate的遍历方法是不需要地图数据资料的?如果那样,那就厉害了....我是写不了


看看seagate的数据:“每一个record元素的结构如下   zoneid=2,6,32|id=322|name=青石大道|cmd=gne
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-3-1 16:04:30 | 显示全部楼层
这个是我行镖路线设置,遍历我用的是自己开发的数据库,没用到Zmud提供的数据库,该数据库是Zmud提供的数据库的子集,上面的record结构仅适用于初始的行镖路线设置,会根据实际情况修正。而且到达目的地没有发现伙计,会自动根据数据库按照深度优先原则进行遍历。遍历算法不算特别复杂,关键是怎么排除特例情况,这个比遍历算法更复杂
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-3-7 02:10:31 | 显示全部楼层
各个人的地图数据库不太一样,代码不好写,但是流程可以写。
lua脚本
at:起始房间表(遍历的起始房间)
mt:中间表
rt:结果表
deep:遍历深度
初始化:mt,rt={},{}
while deep>0 do
    for k,v in pairs(at) do--遍历at表中的每个房间
        for a,b in pairs(v.exists) do --遍历房间v的每个出口信息
            if 出口房间不在rt里面并且也不在mt里面 then 添加这个房间到mt中 end
        end
        if 房间v不在rt里面 then 添加这个房间到rt中 end
    end
    at=mt
    mt={}
    deep=deep-1
end
这样表rt中就包含了指定房间N步以内所有的房间。

[ 本帖最后由 sauron 于 2010-3-7 02:12 AM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-9-3 15:22:43 | 显示全部楼层
最近在看,如何遍历,唉,看了一下,还是不行啊~~~
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-11-27 12:19:48 | 显示全部楼层
;死了好多脑细胞
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-11-28 14:24:39 | 显示全部楼层
我觉得应该用DFS...
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-12-5 21:44:48 | 显示全部楼层
最近广度遍历机器人做得眼睛都花了 关键还是看不出错在哪里!悲剧啊
只能遍历1层 第二层就出现问题!

难道我只适合伪遍历!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-12-1 11:33 AM , Processed in 0.012110 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表