直接写在table 里面修改起来麻烦。数据一般要和程序分离
我用了sqlite 数据库
最短路径 一般用双向遍历算法比较快
基本上 零点几秒就能算出来了 很快。
xkxmap.lua
这样一个文件就是一个地图表,你能说它没与程序分离?
lua的表很强大,修改起来也方便,比使用数据库方便且快。
数据和程序分离没错,要灵活对待哦。 因为地图是比较静态的一个东西,用一个lua文本文件来管理是可行的。
而且根据lua的chunk特点,你还可以在载入时根据人物属性增加或删除某个出口。
xkxmap = {
.....
["1021"]={
name = "前院",
zone = 80,
desc = "这里是神龙教总舵的前院,...",
npc ="陆高止,张淡月"
com= "",
links= {
["1020"] = "east",
["1022"] = "enter",
["1019"] = "west"
}
}
.....
}
--例如,结尾处
if GetVariable("master_name")~="洪安通" then
--掐断1021房间到1020房间的出口链接,因为非洪弟子不允许过去
xkxmap["1021"].links["1020"]=nil
end 原帖由 myu 于 2011-2-12 11:18 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
因为地图是比较静态的一个东西,用一个lua文本文件来管理是可行的。
而且根据lua的chunk特点,你还可以在载入时根据人物属性增加或删除某个出口。
xkxmap = {
.....
["1021"]={
name = "前院" ...
我写的机器人有自己抓取地图功能。
抓取地图会自己保存到数据库中。就是类似zmud地图生成器,走一遍就会把地图记录下来,靠人工手写地图是个非常巨大工作量。
所以用数据库会比较方便。修改起来也比较方便,执行一条sql 语句就可以批量修改了。
根据人物属性增加删除出口,我也考虑的,所以房间类型里面有 虚拟房间用来根据条件生成路径。
比如进入某个房间 有特殊要求。我在direction 字段 写进一个特殊alias 然后通过执行这个alias 来动态判断出口 gammon的core map engine就可以直接用啊
http://mushclient.com/forum/?id=10138
回复 14楼 的帖子
......Otherwise you might point out to the MUD admins that if they aren't prepared to help you get your mapper to work, there are other MUDs around that are. :)
pkuxkx 重名的房间太多了。 Wiz 估计是不愿意改的。 这个没有关系啊
get_room是你自己写的
你可以用自己的uid
原帖由 alrighty 于 2011-2-21 02:08 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
......
Otherwise you might point out to the MUD admins that if they aren't prepared to help you get your mapper to work, there are other MUDs around that are. :)
pkuxkx 重名的房间太多了。 Wiz 估计 ... 翻翻帖子,想到个问题,不是很熟悉,如何在寻路过程中,不搜索某些房间呢 学习学习 活着也没用阿,还是看不懂 回复 21# istillsun
科技以人为本{:7_278:} 如果是462的。。。 我把标题名字改下 ,好好个高科技贴硬跟某些人学整个垃圾标题吸引人