北大侠客行MUD论坛

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

zmud721 map中定位的思路与公式

[复制链接]
发表于 2009-5-11 14:33:42 | 显示全部楼层 |阅读模式
目前做到得是 房间名+描述+房间出口 这三种定位方式
不足之处 还请指教
例如
蛇骨塔 -
    蛇骨塔位于大理城内,建在点苍山斜阳峰东坡。相传洱海有妖蛇名“薄劫”,
其尾塞海口,洪水泛滥,有勇士段赤城只身入洱海与妖蛇同归于尽。后人建塔以
震水势,用蛇骨灰塔,水势自息。这是一座密椽式方形砖塔。
     这里明显的出口是 east 和 west。
通过一些#tr的触发
得到roomname=蛇骨塔
roomdisc=蛇骨塔位于大理城内,建在点苍山斜阳峰东坡。相传洱海有妖蛇名“薄劫”,
其尾塞海口,洪水泛滥,有勇士段赤城只身入洱海与妖蛇同归于尽。后人建塔以
震水势,用蛇骨灰塔,水势自息。这是一座密椽式方形砖塔。
roomexit=east|west
test=2
第一步房间名的判断
rlist=%mapquery([email=name=]name='@roomname'[/email])
这里表示得出地图里房间名为 蛇骨塔 的房间号
#if %numitems( @rlist)=1 {#te @rlist}
这里表示如果变量@rlist里只有一个数值 就表示房间名在整个地图里是唯一的 就可以定位了
如果不是唯一的下面就开始进行房间描述的判断
  
#fo @rlist {#if %pos( @roomdesc, %roomdesc( %i)) {#addi num2 %i}}
  #wa 500
  #if %numitems( @num2)=1 {
    #te @num2
    }
这里表示正在判断当前变量@roomdesc里的房间秒速是否和@rlist里房间号的描述一样
有一样的就把房间号变量到@num2里 最后延时一下 得出如果@num2里只有一个数值 描述定位成功
如果不是唯一的下面就开始进行房间出口的判断
在开始判断之前 说一下需要转换的数值
把east|west|south|noth这些的方向 全部转换简写格式 e|w|s|n 这样
上面的roomexit=east|west变成roomexit=e|w
test=2表示当前房间的出口数量 3就是3个出口 以此类推
#fo @rlist {#if %numitems( %roomexit( %i))=@test {#addi xww %i}}
这里表示@rlist里的所列房间号的出口数值是否等于@test里的数值
匹配的就加入到@xww里去 进行下步计算
待续。。。。。。。。。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-11 15:53:25 | 显示全部楼层
这样工作量是不是有点太大了- -
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2009-5-11 16:00:16 | 显示全部楼层
一劳永逸撒
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-11 18:16:28 | 显示全部楼层
也是,我决定为了防止全自动机器人,每隔几天随机修改地图描述,0 0
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-11 18:45:37 | 显示全部楼层
原帖由 picewolf 于 2009-5-11 06:16 PM 发表
也是,我决定为了防止全自动机器人,每隔几天随机修改地图描述,0 0

这样子task任务的奖励就要翻好几番了,哪能天天背描述呢!

也可以通过相邻房间的名字来确定该房间,这样只要不改地图结构都是可行的,嘿嘿!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2009-5-12 09:20:13 | 显示全部楼层
如果更改了地图结构 那只能随机走出一步在定位了
或者使用更高级的.net编写的可自动生成地图的程序喽
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-12 10:03:55 | 显示全部楼层
wiz要哭了。。。。你们太bt了~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-9-28 14:40:12 | 显示全部楼层
这个太复杂了,还是简单点好
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-22 06:05 AM , Processed in 0.011502 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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