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

Project1

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

[已经解决] 脚本盲求助数组相关问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
127 小时
注册时间
2008-5-12
帖子
144
跳转到指定楼层
1
发表于 2015-3-4 23:17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我希望将几个变量进行从大到小的排序,从而能够得出 最大的值的变量,第二大的值的变量,第三大的值的变量……类似这样。。
比如  变量1=2    变量2= 4     变量3=1       变量4=3  那么希望可以知道类似 变量2,变量1,变量4,变量3 这样的顺序。。。那么我就可以通过事件来控制这些变量,比如“XXX变量 等于 这些变量中排第二的变量的值的话。。。”类似这样的分歧。。。
要实现这样的话貌似要通过数组?或者循环事件也可以??
orz

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2015-3-4 23:37:23 | 只看该作者
事件脚本
  1. v = $game_variables
  2. v[5] = [v[1],v[2],v[3],v[4]].sort.reverse!
复制代码
分支条件-脚本- $game_variables[xx] == $game_variables[5][1]
  #该怎样怎样
否则
  #该怎样怎样
分支结束


未测试

点评

出啥错?事件脚本一行不够写换行要注意……比如在行末加上\就不会有问题了~  发表于 2015-3-5 10:36
非常感谢,不过出错了= =  发表于 2015-3-5 00:18
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

3
发表于 2015-3-5 01:17:17 | 只看该作者
本帖最后由 喵呜喵5 于 2015-3-5 14:33 编辑
  1. class Game_Interpreter
  2.   def sort_variables(var,result,reverse = true)   
  3.     v = $game_variables
  4.     var.sort!{|a,b| v[a]>v[b] ? 1 : -1}
  5.     var.reverse! if reverse
  6.     result.each_with_index do |id,i|
  7.       v[id] = var[i] || 0
  8.     end
  9.   end
  10. end
复制代码
插入脚本,然后事件指令中输入:
  1. sort_variables([要排序的变量ID],[要接受结果的变量ID],是否从大到小排列)
复制代码
例如
  1. sort_variables([1,2,3],[4,5],true)
复制代码
表示对变量1、2、3排序,最大的那个变量的ID储存在4号变量中,第二大的变量ID储存在5号变量中
  1. sort_variables([1,2,3],[5],false)
复制代码
表示对变量1、2、3排序,最小的那个变量的ID储存在5号变量中

脚本并没有考虑变量大小相同的情况

点评

十分好用,非常感谢!!  发表于 2015-3-5 11:49

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 sort_by! { |i| v[i] }

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
4
发表于 2015-3-5 10:23:18 | 只看该作者
按照你给的题意:v[1]=2,v[2]=4,v[3]=1,v[4]=3
脚本:v[1]=2;v[2]=4;v[3]=1;v[4]=3
v[5] = [v[1],v[2],v[3],v[4]]
v[5] = v[5].sort!
想要获取这些变量排第1的值的话,就是v[5][0]
想要获取这些变量排第2的值的话,就是v[5][1]
想要获取这些变量排第3的值的话,就是v[5][2]
想要获取这些变量排第4的值的话,就是v[5][3]

点评

非常感谢!虽然楼上的更加贴切!  发表于 2015-3-5 11:50
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 19:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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