设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1911|回复: 3
打印 上一主题 下一主题

[RMVA发布] 【VA】HASH表的作用

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2012-10-1
帖子
36
跳转到指定楼层
1
发表于 2012-10-8 22:21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
hash表理论上来说是散列表,可以根据输入的键值快速插入,删除和查找相应元素。当然在VA中不知道这个hash数据类型是怎么实现的。最近我在学习内置脚本和看各位的教程学习到了hash表在va中的应用。

va中的hash表象是一个数组,只不过它的下标是任意数据结构。总结了一些好的作用。

1,可以当作一个快速查询的数组。比如,在地图中的一些坐标关联了一些任务数据。假设人物走到一个位置然后按确定键。而接下来要触发的事件跟这个人物所在的位置有关,我们就可以这样来检索这个数据。
RUBY 代码复制
  1. thing=hash_data[[$game_player.x,$game_player.y]];

当然之前初始化的时候要在那些预订的位置初始化值。

2,可以当作一个集合。很容易判断一个元素是不是在这个集合中。也是同样的例子,人物走到一个位置按确定键,这个时候如果这个位置已经存在数据,就返回真;如果不存在数据,就在这个位置关联数据,并返回假。那么就可以这么些。
RUBY 代码复制
  1. tmp=hash_data[[$game_player.x,$game_player.y]];
  2. if(tmp==nil)
  3. hash_data[[$game_player.x,$game_player.y]]=thing;
  4. return false;
  5. else
  6. return true;
  7. end

这样就可以检测是否重复。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2012-10-1
帖子
36
2
 楼主| 发表于 2012-10-8 22:24:23 | 只看该作者
个人感觉va的hash表作用可以当作数组的超集。。。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

3
发表于 2012-10-8 22:57:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2012-10-1
帖子
36
4
 楼主| 发表于 2012-10-8 23:13:46 | 只看该作者
恩,其实我想说的就是va的hash数据结构在功能上封装了映射键值和冲突检测和这两个麻烦的东西,所以使用的时候可以多用它,在时间上更有效率。我估计也是个链地址的结构。

点评

链地址+1  发表于 2012-10-8 23:21
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 15:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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