北大侠客行MUD论坛

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

请问一个zmud7.21列表型变量计算的问题

[复制链接]
发表于 2012-3-20 17:22:40 | 显示全部楼层 |阅读模式
假设变量A={1|2|3|4|5|4},对应变量B{a|b|c|d|e|f},A里存的是状态,B是命令
还有个变量C={4|3|2|5|1},表示优先级。
意思检索A里存的状态,按C的优先级顺序进行对应,第一优先级是4,那么只要A序列里存在4,我们就执行第一个4对应的那个命令d,如果A序列里没有4,那么从C里取第二优先,查询A里是否有3。

请问zmud7.21里,这命令该怎么编写?

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-3-20 18:10:27 | 显示全部楼层
我觉得首先numc=1;numa=1;
alias Z #if (@numc<=%numbers(@C)) {#if (@numa<=%numbers(@A)) {#if (%item(@A,@numa)=%item(@C,@numc)) {%item(@b,@numa)} {#math numa @numc+a;Z}} {#math numc @numc+1;numa=1;Z}} {#say 没有}
不知道对否。呵呵。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-3-20 18:48:05 | 显示全部楼层
谢谢兄台,大概看懂你的意思了,思路很巧妙啊,不过用alias内部嵌套引用自己来实现,这个zmud不会出问题么?
另外#math numa @numc+a,是不是应该是#math numa @numa+1 ?
这个用#add numa 1,可能会更简洁。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-3-20 18:52:35 | 显示全部楼层
是的,那里写错了。用alias内部嵌套自己只要不溢出和死循环没事。呵呵我也是门外汉研究的。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-3-20 19:17:18 | 显示全部楼层
嘿嘿,这个我要用来提高护镖效率。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-3-20 19:37:09 | 显示全部楼层
呵呵没事可以,一起探讨,我是晨曦。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-3-21 00:14:00 | 显示全部楼层
知道原理了,进游戏,就这么一点东西还是弄了几个小时才成功啊,上面还有个错误,%numbers应该是 %numitems
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-3-21 08:03:03 | 显示全部楼层
是用来挑选护镖目的地么?如果目的是为了每次接镖能多推几步,可以考虑在路径设置中解决
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-3-21 09:31:41 | 显示全部楼层
alucar一语点醒梦中人啊,确实只要把路径直接改成多绕点路,就可以了。不过这个只要弄好还是有用处的,比如可以优先选择岔路少的目的地。算法实现了,修改目的地优先级是很容易的事。

昨天这么个小功能我弄到半夜才弄好,总是有小错误,基本就没做任务。唉,到底是新手不熟悉啊。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-3-21 12:21:02 | 显示全部楼层
本帖最后由 lcx 于 2012-3-21 04:22 AM 编辑

我从不挑剔。你不用非得选岔路少的啊。我过河过江一样推。也不用非得磨那么多步完成吧。如果找岔路少是为了解决的乱入,有信不乱入啊。就开始乱入手动搞下不就好了。以前我不知道有信不乱入。还搞个大米跟着怕乱入。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 10:55 AM , Processed in 0.010581 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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