北大侠客行MUD论坛

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

求教cmud map迷宫问题。

[复制链接]
发表于 2014-5-15 17:17:43 | 显示全部楼层 |阅读模式
本帖最后由 feishu 于 2014-5-16 11:18 AM 编辑

画地图碰到一个迷宫,机构如下

  青石大道                      树林-树林       大门
      |               /            \         |         
    宜兴                   /              树林  -  树林
      | \ 田地1-田地2-田地3              |    /
    南浔镇  

 
其中田地2是一个随机的出口迷宫,每次田地1-2-3之间出口在n;s;w;e四个出口中随机刷新,请问怎么样才能在map中顺利从宜兴-树林,或者相反。怎么才能解决呢。我自己的是解决的办法是1、2、3在map的出口连接设置成other,再配合trigger。
代码如下多行触发

  1.    
  2.       
  3.       exit_qu=%trim(%replace(%replace(%replace(%replace(%concat(%trim(%1)," ",%trim(%2)),"southwest",""),"northwest",""),northeast,""),southeast,""));
  4. fanfangxiang
复制代码

其中反方向是个alias代码

  1.     #if (@exit_qu=south) {#var exit_hui north};
  2. #if (@exit_qu=north) {#var exit_hui south};
  3. #if (@exit_qu=west) {#var exit_hui east};
  4. #if (@exit_qu=east) {#var exit_hui west};
  5.   
复制代码
在分别在田地2房间连接1和2的方向添加命令
  1. look;#execute %replace(@exit_qu,@exit_hui,"")
复制代码

现在的问题是,如果鼠标在1、2、3内逐个房间走的话,就可以走,如果直接从1-3点鼠标就不行。求各位大侠解决方法。不胜感激!

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-5-16 07:37:06 | 显示全部楼层
cmud不懂,估计应该合mush的思路是一样的吧。
1 你的房间拓扑结构没看懂
2 就当做是随机迷宫的处理吧:房间2和1、3的连接可以设置为一个函数啊,这个函数的内容就是房间2内随机走,设置房间1和3为边界,一直走到需要的房间,函数结束。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-5-16 11:22:51 | 显示全部楼层
回复 2# huacuozid

不好意思,没有编辑,出口虽然是随机的,但是却是唯一的,田地2只有两个随机出口,除去回到1或3的出口实际上只有一个,你的说函数怎么实现呢?有点不明白.
现在的可以找到唯一的出口,但是不能正确执行,不知道怎么办。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-5-16 13:26:28 | 显示全部楼层
四处只有一步就简单了:
lua大概就是这样了:
1 去的天地1和2的唯一标识(描述,出口,等)
  look north
  抓取看到的描述和田地的描述作对比
if 就是想要到的房间 then north return
else
    look east
    抓取看到的描述和田地的描述作对比
   if 就是想要到的房间 then east return
else...................以此类推
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-5-16 13:27:29 | 显示全部楼层
四处只有一步就简单了:
lua大概就是这样了:
去的田地1和2的唯一标识(描述,出口,等)

  look north
  抓取看到的描述和目标房间的描述作对比
if 就是想要到的房间 then north return
else
    look east
    抓取看到的描述和目标房间的描述作对比
   if 就是想要到的房间 then east return
else...................以此类推
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-5-16 16:39:57 | 显示全部楼层
花大神威武
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-5-19 13:26:25 | 显示全部楼层
谢谢您的提醒,问题解决了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-6-5 20:36:12 | 显示全部楼层
本帖最后由 littleknife 于 2014-6-5 08:39 PM 编辑

我的处理方法是这样的:你在“宜兴”这个节点指向“田地”这个方向时,采用特殊方向,比如:yx2td3(相当于楼主的other思路、也相当于花长老的单独建立函数)在行走到“宜兴”这个节点时,若想走到“田地3”,这个方向是yx2td3,在行走函数发现是特殊命令yx2td3,则单独处理此函数,处理完成后返回行走函数,继续下一步。

这个思路和坐船,以及和zmud中定义方向Direction是一个思路,不要把方向的定义局限在东南西北这些方向上。比如,进入丐帮地道,也可以设置成中央广场到树洞的一个特殊方向来处理。虽然没用过Cmud,但是估计和zmud录制地图差不多。楼主可以考虑定义Direction的方式,比如定义一个专门的方向yx2td3来解决这个问题,相应得定义相反方向。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 09:00 AM , Processed in 0.015537 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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