北大侠客行MUD论坛

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

【梦话连篇】Tips:About Draw Map

[复制链接]
发表于 2013-3-31 16:41:22 | 显示全部楼层 |阅读模式
本帖最后由 hijacker 于 2013-3-31 05:02 PM 编辑

论坛上有个mush版的GPS,自带非图形界面的画地图功能,功能已经非常强大了,但自动化程度还不够高,表现在处理一模一样(同名同描述)的两个房间时无力。
提供一个在画地图模式下,处理非随机迷宫的同名同描述房间的思路,需要用到两个ID,A是主控ID,B起到路标作用。流程图如下:



选择出口方向、保存房间之间的连接以及B的寻路这三个环节略了,在我刚才提到的GPS里有写到。

再顺手贴一个简单的数据结构——栈的lua定义,也许有人会用到:-)
  1. stack = {
  2.         new = function()
  3.                 local _S = {}
  4.                 setmetatable(_S, {__index = stack})
  5.                 return _S
  6.         end,

  7. }

  8. function stack:push(elem)
  9.         table.insert(self,elem)
  10.         print(elem .. "入栈")
  11. end

  12. function stack:pop()
  13.         if #self == 0 then
  14.                 print("栈已空!")
  15.                 return nil
  16.         end
  17.         local top = self[#self]
  18.         table.remove(self, #self)
  19.         print(top, "出栈")
  20.         return top
  21. end

  22. --用法实例:
  23. local roomStack = stack.new()
  24. roomStack:push(1)
  25. roomStack:push(2)
  26. local top = roomStack:pop()
  27. local top = roomStack:pop()
  28. local top = roomStack:pop()
复制代码
欢迎指正。

北大侠客行MUD,中国最好的MUD

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-3-31 18:12:03 | 显示全部楼层
嘿嘿。
俺再学都学不会。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-3-31 22:29:39 | 显示全部楼层
看不懂
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-4-12 17:35:10 | 显示全部楼层
也就是你在做比较,如果两个房间描述一样,你就看看这两个房间所连接的房间描述是否一样,如果还一样,你就认为他们是同一个房间,如果不一样就说明他们是两个不同的房间? 不过pkxkx这样搞很恶心啊,很多mud都会输出一个房间id,这样大家都方便的比较两个房间是否是同一个房间了=>比较id就行
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-4-12 17:38:42 | 显示全部楼层
不过这个方法对迷宫之类的还是有局限性啊,是不是需要一个flag指示某一部分是迷宫,这样不会吧mapper的逻辑完全搞乱
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-4-15 22:09:00 | 显示全部楼层
回复 5# ferdinand


    我不是那个意思……比如你走到了房间y,你发现已经画好的房间x和当前房间y一模一样,出口房间也完全相同,这时你就让你的大米去x,如果大米走到x后和你在一个房间,说明x和y是一个房间。我前面也说了,这种方法只适用于画非随机迷宫的地图,也就是说相邻房间u和v,u->v和v->u的路径是完全反向的这种情况。随机迷宫直接无视。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 02:02 AM , Processed in 0.013736 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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