北大侠客行MUD论坛

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

请教个LUA房间遍历问题

[复制链接]
发表于 2015-4-24 15:04:53 | 显示全部楼层 |阅读模式
刚接触LUA时间不长,请教下怎么用LUA写一个房间遍历脚本。谢谢
或者谁有现成的,让我学习学习。

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-4-25 12:10:25 | 显示全部楼层
如果你这都不知道,建议不要搞mc了。浪费时间啊。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-4-27 16:40:52 | 显示全部楼层
我会用LUA写一些函数,实现一些功能,但是遍历这个 没做过,不会。其他一些都行。一般的随机走路呀什么都行。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-4-27 16:41:41 | 显示全部楼层
不知道这个遍历的一个实际设计
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-4-27 16:43:01 | 显示全部楼层
他是一个随机的大房间,不是一个固定的,如果是固定的 我也会。 每次进入 房间的链接都不是一样的。而且房间数量和位置都不一样
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-4-27 19:14:14 | 显示全部楼层
一堆节点
每个节点都有几个出口
出口设置到其他节点的编号
就是“图”吧
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-5-6 09:08:21 | 显示全部楼层
回复 6# ltblue


    这个要具体怎么弄? 你做过相关的遍历吗?让我参考参考
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-5-6 22:39:46 | 显示全部楼层
我只做了地图的遍历,不过不是随机的
但我做遍历的时候也不知道地图,换句话说,地图是自动“画”出来的,所以不管是不是随机也都能画吧
大体就是这么做吧

1.设定一个table(我只会table,他们会数据库,我比较笨),可以取名叫map,然后里面是各个节点
比如这就是我的一个节点信息。你看看格式就行
[1] = {
        area = "襄阳城",
        descriptions = {
            [1] = "这是一家素以买卖公平著称的老字号当铺,一个四尺高的柜台摆在你的面",
            [2] = "前,柜台上摆着一个牌子(paizi), 柜台后坐着当铺的老板,一双鬼溜溜的眼",
            [3] = "睛上上下下打量着你。",
        },
        exits = {
            south = {
                cmd = "s",
                gto = 2,
            },
        },
        location = {
            [1] = "",
            [2] = "",
            [3] = "当铺",
            [4] = "|",
            [5] = "东街",
        },
        name = "当铺",
    },

2.设计一个看房间的函数,可以把当前房间的所有信息记录到上面的table中去

3.抓到该房间的所有方向,然后逐个方向找,任何一个方向的目的地未知,都可以去一下

4.从起始房间向任意方向行走,来到新房间,然后让原有房间的这个方向的目的地记录为房间2,把房间2的反相目的地记录为房间1(但是,如果有时候不反相的,就不好处理了,如果你的迷宫经常出现房间1的n是2,而房间2的s不是1,那就不能这么做了)

5.每到一个新房间,都判断是否为已知房间,如果是已知房间,说明绕回来了,那么回退到上一个房间,并记录。如果不是已知房间,那么记录新房间信息,并对新房间信息逐个尝试。

6.当一个房间的所有方向都记录过目的地后,就可以回退回之前的房间,然后继续。

7.当所有房间的所有方向都记录过,人也自然回到最初的位置,这时候就可以保存地图了。

8.如果出现所有房间的描述都一样的情况,请手动处理。


当然,如果你的目的,就是画迷宫,而且迷宫里的房间描述都相同,又不想手动处理,那就得理解迷宫的本质,然后另行想办法。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-5-6 22:45:37 | 显示全部楼层
他是一个随机的大房间,不是一个固定的,如果是固定的 我也会。 每次进入 房间的链接都不是一样的。而且房间 ...
dandelion 发表于 2015-4-27 04:43 PM



随机的大房间,每次进入的链接还都不同?
是进入大房间的时候进行随机,还是每进入一个小房间都随机一次?
如果是进入大房间的时候随机,你的目的又是能走通,那就看描述是不是一样了。
如果描述一样,而且没有绝对的位置可说,完全是随机的,那就只好扔铜板了......这样最难
如果描述一样,但有绝对的位置,也就是理论上可以画一张2维地图,没有超时空移动的话,设定x、y坐标轴走格子就行
如果是每进入一个小房间都随机一下,那完全没必要画什么地图,乱走即可
如果描述都不同,位置也不是每进一个小房间一随机,那就按正常的遍历地图的方式即可
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 11:41 PM , Processed in 0.017510 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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