北大侠客行MUD论坛

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

[请教]zmud机器怎么实现二维数组?

[复制链接]
发表于 2010-7-28 00:03:39 | 显示全部楼层 |阅读模式
如题,本人只知道#array能定义一维数组,不知道二维怎么用
听说这里高手多,特来请教
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-28 06:19:33 | 显示全部楼层
假设有一个二维数组A[4][4]:

#va A "00|11|22|33|44|55|66|77|88|99|aa|bb|cc|dd|ee|ff"
#va B %word(@A,%eval(4*%1+%2+1),|)

那么 @B(m,n) 就是符合一般概念的二维数组访问符。
@B(3,3) 返回了第 16 个元素:ff
@B(1,2) 返回了第 7 个元素:66
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-28 11:01:41 | 显示全部楼层
list 对象支持多维数据,list里面的元素可以是字符或者数字,也可以是一个复杂结构,比如list、record等等。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-28 11:38:31 | 显示全部楼层
1楼的办法真巧妙哈,拜谢了
2楼说的list里套list好像随机取值有点问题,回去再试试看
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-28 11:57:08 | 显示全部楼层
要对元素进行赋值,这样:
%len(@B) 得到原 LIST 长度,
%len(@B(m,n)) 得到需替换的元素的长度;
由此通过 %right,%left 函数,进行替换,
得到结果。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-10-19 10:51:34 | 显示全部楼层
回复 3# seagate


好读取吗?请问,我现在正学习这个呢。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-10-21 18:37:20 | 显示全部楼层
好贴。收藏。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-6-4 14:28:23 | 显示全部楼层
假设有一个二维数组A[4][4]:

#va A "00|11|22|33|44|55|66|77|88|99|aa|bb|cc|dd|ee|ff"
#va B %word( ...
bluse 发表于 2010-7-27 10:19 PM



    好办法
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-6-14 09:23:57 | 显示全部楼层
赤果果的挖坟啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-27 06:07 AM , Processed in 0.012948 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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