|
本帖最后由 hijacker 于 2013-3-31 05:02 PM 编辑
论坛上有个mush版的GPS,自带非图形界面的画地图功能,功能已经非常强大了,但自动化程度还不够高,表现在处理一模一样(同名同描述)的两个房间时无力。
提供一个在画地图模式下,处理非随机迷宫的同名同描述房间的思路,需要用到两个ID,A是主控ID,B起到路标作用。流程图如下:
选择出口方向、保存房间之间的连接以及B的寻路这三个环节略了,在我刚才提到的GPS里有写到。
再顺手贴一个简单的数据结构——栈的lua定义,也许有人会用到:-)- stack = {
- new = function()
- local _S = {}
- setmetatable(_S, {__index = stack})
- return _S
- end,
- }
- function stack:push(elem)
- table.insert(self,elem)
- print(elem .. "入栈")
- end
- function stack:pop()
- if #self == 0 then
- print("栈已空!")
- return nil
- end
- local top = self[#self]
- table.remove(self, #self)
- print(top, "出栈")
- return top
- end
- --用法实例:
- local roomStack = stack.new()
- roomStack:push(1)
- roomStack:push(2)
- local top = roomStack:pop()
- local top = roomStack:pop()
- local top = roomStack:pop()
复制代码 欢迎指正。
北大侠客行MUD,中国最好的MUD |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|