Project1

标题: 批量随机变量怎么从中挑选最高的数值? [打印本页]

作者: gaoling0727    时间: 2011-5-12 22:03
标题: 批量随机变量怎么从中挑选最高的数值?
本帖最后由 gaoling0727 于 2011-5-12 22:04 编辑

批量随机变量怎么从中挑选最高的数值?
比如1~30号变量 全部由一个事件启动 随机变量每个 0~100数字之间浮动
然后从中挑选数值最大的一个出来,要怎么做到 排除相同数字的因素 只挑大个
绞尽脑汁了...

不会分歧1个变量数字大于其他29个吧...那样要做好多...dsu_plus_rewardpost_czw
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-12 22:17
事件脚本:

$game_variables[11] = $game_variables[1..10].max

1号变量到 10号变量 里的最大值, 放入到 11号变量里去.
作者: gaoling0727    时间: 2011-5-12 22:24
谢谢楼上
但是假如1~30号 15号最大 我需要15号这个变量 而不是数字呢
数字只是竞选变量的工具
?= $game_variables[1..30].max
还有插在哪 鄙人脚本无能...感谢万分
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-12 22:35
$game_variables[31] = 0
$game_variables[32] = 0
for index in 1..30
   if $game_variables[31] <= $game_variables[index]
       $game_variables[31] = $game_variables[index]
       $game_variables[32] = index
   end
end

然后 31 号变量就是 1 ~ 30 号变量里的最大值, 32号变量就是 1 ~ 30 里最大值的序号.
如果有多个等于 最大值的 变量的话, 返回最后一个最大的序号.

作者: gaoling0727    时间: 2011-5-12 22:41
本帖最后由 gaoling0727 于 2011-5-12 22:53 编辑

回复 爱丽丝·玛格特罗依德 的帖子

是不是 32号变量就是复制了1~30最大的变量
恩我去试一试 谢谢你了!


gaoling0727于2011-5-12 22:51补充以下内容:
啊不对我发现一个事...我是需要最大变量的名字...完全误会了
比如1号战士 2号骑士神马的 需要变量的名字来用作游戏信息
数字和序号都不需要 要的是变量的名字
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-12 23:52
LZ 乃也要说清楚啊. 一开始说是变量什么的.

请重新说明问题~~~
作者: gaoling0727    时间: 2011-5-13 10:13
问题一样 只不过我要的只是最大个变量的名字 1~30每个都有不同的名字
我随机数就是选出最大的 然后需要用那个随机变量的名字
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-13 10:58
不是很明白, 变量原来是数字才对. 名字什么的, 是字符串才对啊.

除非 变量变成了 数组, 或者 Hash .
作者: gaoling0727    时间: 2011-5-13 11:02
本帖最后由 gaoling0727 于 2011-5-13 11:05 编辑

回复 爱丽丝·玛格特罗依德 的帖子

比如说 变量1~30分别的名字 one two three等
全部随机变量后 假如10号的变量最大 我需要知道变量最大的是谁 数字和序号都无所谓
能知道ten 就行了
麻烦你了

我可能会用这个ten来作为 让10号队友加入队伍等 所以数字和序号没啥用
当然one two three只是例子 真正变量的是人物的性格
这是一个创建人物的随机变量设定吧可以说
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-13 11:04
本帖最后由 爱丽丝·玛格特罗依德 于 2011-5-13 11:08 编辑

疑问1: 全部随机变量后 , 指的是 还是 1 ~ 30 ?

疑问2: 如果是的话, 那么, 变量1~30分别的名字 one two three等 就会被覆盖掉.

疑问3: 求最大的那个序号的, 咱不是写了给你了?

疑问4: 请不要举什么例子了, 说说原来的情况吧~~~
作者: gaoling0727    时间: 2011-5-13 11:08
回复 爱丽丝·玛格特罗依德 的帖子

一个选项决定随机变量 1~27这是我游戏中的设定
一共有40个选项

盖不盖掉无所谓 只需要选完选项后知道最大变量的名字 不是序号
是变量的名字 我自己设定的名字 比如1号内向 2号外向 3号幽默 4号谨慎
简单说就是一个设定人物 最后通过一些问题得出一个特点
这个特点就是随机变量中最大的那个的名字
如何做到就是我现在不会的事了...
作者: 爱丽丝·玛格特罗依德    时间: 2011-5-13 11:14
module Character_Alice
    Character = {
       1 => "内向",
       2 => "外向",
       3 => "幽默"
    }
end

然后使用咱之前的那个脚本找到最大的那个变量的序号,  32号变量, 那么就是
name = Character_Alice::Character[$game_variables[32]]
作者: gaoling0727    时间: 2011-5-13 11:19
回复 爱丽丝·玛格特罗依德 的帖子

module Character_Alice
    Character = {
       1 => "内向",
       2 => "外向",
       3 => "幽默"(省略了)
    }
end
$game_variables[28] = $game_variables[1..27].max
$game_variables[28] = 0
$game_variables[29] = 0
for index in 1..27
    if $game_variables[28] <= $game_variables[index]
       $game_variables[28] = $game_variables[index]
       $game_variables[29] = index
   end
end


对么...我真的是个脚本白痴...
是在事件中添加脚本使用么?

作者: 爱丽丝·玛格特罗依德    时间: 2011-5-13 11:26
$game_variables[28] = $game_variables[1..27].max 不要

module Character_Alice
    Character = {
       1 => "内向",
       2 => "外向",
       3 => "幽默"(省略了)
    }
end

这部分丢脚本里,  main 之前.

剩下的可以丢事件脚本里~~~
作者: gaoling0727    时间: 2011-5-13 11:43
本帖最后由 gaoling0727 于 2011-5-13 11:54 编辑

回复 爱丽丝·玛格特罗依德 的帖子

辛苦辛苦...厚脸皮再求一句脚本
主角的职业 变成30号变量的名字


gaoling0727于2011-5-13 11:53补充以下内容:
啊 不用了 我用事件分歧吧 30号等于XX时候主角职业定义为什么
多谢你的帮助了!求勾搭!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1