北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 8555|回复: 10

有没有自动遍历地图存入数据库的例子?

[复制链接]
发表于 2010-9-8 22:13:41 | 显示全部楼层 |阅读模式
看到几篇关于如何自己定义数据库结构,然后将地图保存为数据库格式或者LUA的table格式。
然后通过房间名称、房间描述、出口等信息进行匹配,得到一个唯一的房间ID。
最后通过两个唯一的房间ID,确定路径。
基本都是采用广度优先遍历图的算法。

我想问的是,有没有在没有数据的情况下,自动将当前房间存入数据库,然后开始根据出口遍历,最后将能走的地方全部存入数据库的例子呢?

我的想法是当前房间为A,然后先判断数据库中是否有当前房间,如有没有,存入数据库,得到一个房间ID。
然后将每个出口存入一个队列。
从队列里去一个出口,然后look这个方向,判断look过去的地方是否在地图中存在,如果不存在,写入数据库,获得房间ID。
然后在房间A的信息里,加入这个出口连接到哪个房间ID。并把这个房间ID存入房间队列roomsqueue。
一次循环出口队列,直到出口全部look完毕。
然后从roomsqueue队列取出下一个roomID,走到这个房间,然后将这个房间设置为房间A,继续一次上面的过程。
以上只是我的一些想法,没有实现代码呢。

想问问是否各位前辈都是这样得到的xkx地图数据库呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-9-8 22:34:22 | 显示全部楼层
maper有写一个教程721的.
而且好象是视频教程,怎么画地图,楼主可以搜索一下
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-9-9 00:52:44 | 显示全部楼层

回复 1楼 的帖子

没有地图的话,根据房间的出口描述可以遍历,但是遇到环形路线就死定了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-9-9 09:30:45 | 显示全部楼层
环形路线应该没有问题。
因为如果look过去,发现数据库里已经有这个roomID了,就不会加入到roomsqueue队列,也就不会死循环了。
就是迷宫估计就死了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-9-9 09:33:04 | 显示全部楼层
原帖由 lzkd 于 2010-9-8 10:34 PM 发表
maper有写一个教程721的.
而且好象是视频教程,怎么画地图,楼主可以搜索一下


这个是用的zmud的map吧,这个map不能导入到access或者sqlite吧?
只能通过zmud的 map提供的函数使用。和我需要的不一样,不过还是感谢。
zmud的database和mud我一直没有搞明白怎么用呢。呵呵

感觉还是自己写程序控制来的直接,而且我用过zmud 5.55 map+DB的rbt,感觉只能挂一个号,再开其他的,就非常卡。。。不知道什么原因
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-9-9 09:56:51 | 显示全部楼层
原帖由 dreamnb 于 2010-9-9 09:30 AM 发表
环形路线应该没有问题。
因为如果look过去,发现数据库里已经有这个roomID了,就不会加入到roomsqueue队列,也就不会死循环了。
就是迷宫估计就死了

房间名是同名的,描述也是一样的,出口也是一样的,怎么区分?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-9-9 13:34:44 | 显示全部楼层
这个就是所谓的迷宫了。
房间名、描述、出口都一样。。。确实不能区分。我人也不能区分呀。
这个我也一直没有办法
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-9-9 14:20:26 | 显示全部楼层
原帖由 dreamnb 于 2010-9-9 09:33 AM 发表


这个是用的zmud的map吧,这个map不能导入到access或者sqlite吧?
只能通过zmud的 map提供的函数使用。和我需要的不一样,不过还是感谢。
zmud的database和mud我一直没有搞明白怎么用呢。呵呵

感觉还是自己写 ...

zmud7.21画的地图是access格式的。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-9-9 15:29:54 | 显示全部楼层
自己写可以看我的例子,我就是用自己写的access数据库来遍历的。没用任何现成的地图功能。
zmud721有点麻烦,cmud237肯定没问题。主要问题就是中文识别上。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-9-9 16:11:51 | 显示全部楼层
原帖由 seagate 于 2010-9-9 03:29 PM 发表
自己写可以看我的例子,我就是用自己写的access数据库来遍历的。没用任何现成的地图功能。
zmud721有点麻烦,cmud237肯定没问题。主要问题就是中文识别上。

老大说的是“复杂Mud机器人编写指引”这篇文章吗?
我看到了里面关于数据库的设计和遍历的文章
但是设计好数据库后,里面的房间数据是怎么获得的?总不能自己手动添加rooms的记录到数据库,然后再利用这些数据计算路径吧?

我现在利用数据可以计算出两点间路径了,但是苦于没有完整的房间数据库呀。所以问问有没有简便的方法可以让程序自动抓取出xkx房间的数据库出来?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 09:55 PM , Processed in 0.012594 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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