Project1

标题: 请教随机目标的公式写法 [打印本页]

作者: jianyulei    时间: 2019-1-15 17:36
标题: 请教随机目标的公式写法
例如眼前有N条路,角色踏上这几条路的几率都不同,请问角色最后随机走上了哪一条路?

我复制了游戏随机决定目标的公式来改,但最后却失败了,看了看元脚本是遍历我方存活角色然后让全角色的合计仇恨逐个减去每个角色的rand(仇恨),实际上这样遍历一遍肯定是减不完的。
另外,脚本不支持数组的合计函数吗?
作者: soulsaga    时间: 2019-1-15 18:19
a=[1,2,3].max
p a#3
其实我看不懂楼主的问题..
作者: 百里_飞柳    时间: 2019-1-15 18:20
推荐:
每条路都定义一个随机因子,比如A有20,B有30,C有10,而它们的和s=60作为分母
那么它们的被选中的概率就是 随机因子/s
然后取 1~s 之间的一个随机数r,按顺序判定该数在哪个区间内,就取那个结果
{A => 20, B => 30, C => 10}.each do |k, v|
  return k if (r -= v) <= 0
end
作者: 芯☆淡茹水    时间: 2019-1-15 19:18
a = [1,2,3]
eval a.join("+")
作者: soulsaga    时间: 2019-1-15 19:27
p a.index(a.max) 获取数组中最大值元素的位置




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