Project1
标题:
脚本盲求助数组相关问题
[打印本页]
作者:
ace69
时间:
2015-3-4 23:17
标题:
脚本盲求助数组相关问题
我希望将几个变量进行从大到小的排序,从而能够得出 最大的值的变量,第二大的值的变量,第三大的值的变量……类似这样。。
比如 变量1=2 变量2= 4 变量3=1 变量4=3 那么希望可以知道类似 变量2,变量1,变量4,变量3 这样的顺序。。。那么我就可以通过事件来控制这些变量,比如“XXX变量 等于 这些变量中排第二的变量的值的话。。。”类似这样的分歧。。。
要实现这样的话貌似要通过数组?或者循环事件也可以??
orz
作者:
VIPArcher
时间:
2015-3-4 23:37
事件脚本
v = $game_variables
v[5] = [v[1],v[2],v[3],v[4]].sort.reverse!
复制代码
分支条件-脚本
- $game_variables[xx] == $game_variables[5][1]
#该怎样怎样
否则
#该怎样怎样
分支结束
未测试
作者:
喵呜喵5
时间:
2015-3-5 01:17
本帖最后由 喵呜喵5 于 2015-3-5 14:33 编辑
class Game_Interpreter
def sort_variables(var,result,reverse = true)
v = $game_variables
var.sort!{|a,b| v[a]>v[b] ? 1 : -1}
var.reverse! if reverse
result.each_with_index do |id,i|
v[id] = var[i] || 0
end
end
end
复制代码
插入脚本,然后事件指令中输入:
sort_variables([要排序的变量ID],[要接受结果的变量ID],是否从大到小排列)
复制代码
例如
sort_variables([1,2,3],[4,5],true)
复制代码
表示对变量1、2、3排序,最大的那个变量的ID储存在4号变量中,第二大的变量ID储存在5号变量中
sort_variables([1,2,3],[5],false)
复制代码
表示对变量1、2、3排序,最小的那个变量的ID储存在5号变量中
脚本并没有考虑变量大小相同的情况
作者:
tan12345
时间:
2015-3-5 10:23
按照你给的题意: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]
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1