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

Project1

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

[已经解决] 请教随机目标的公式写法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
帖子
813

开拓者

跳转到指定楼层
1
发表于 2019-1-15 17:36:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
例如眼前有N条路,角色踏上这几条路的几率都不同,请问角色最后随机走上了哪一条路?

我复制了游戏随机决定目标的公式来改,但最后却失败了,看了看元脚本是遍历我方存活角色然后让全角色的合计仇恨逐个减去每个角色的rand(仇恨),实际上这样遍历一遍肯定是减不完的。
另外,脚本不支持数组的合计函数吗?

Lv5.捕梦者

梦石
0
星屑
33178
在线时间
10489 小时
注册时间
2009-3-15
帖子
4756
2
发表于 2019-1-15 18:19:34 | 只看该作者
a=[1,2,3].max
p a#3
其实我看不懂楼主的问题..

点评

仇恨的话时先统计了所有角色的合计值再计算的,计算方法就是鹰大写的那个。  发表于 2019-1-15 20:37
返回仇恨数组所在的单元位置  发表于 2019-1-15 19:25
那不是选仇恨最高的值吗?那用index  发表于 2019-1-15 19:24
max是求数组中元素的最大值不是合计值。另外我的问题是在原始脚本中敌人根据仇恨多少选择我方哪名队友进行攻击的那个计算公式。  发表于 2019-1-15 19:07

评分

参与人数 1+1 收起 理由
jianyulei + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33412
在线时间
6552 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2019-1-15 18:20:33 | 只看该作者
推荐:
每条路都定义一个随机因子,比如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

评分

参与人数 2星屑 +20 +1 收起 理由
jianyulei + 1 认可答案
VIPArcher + 20 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31939
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

4
发表于 2019-1-15 19:18:26 | 只看该作者
a = [1,2,3]
eval a.join("+")

点评

a = [0,1,2,3,4,5]; b= a.join("+") ; p eval(b);可以合计了  发表于 2019-1-15 19:45

评分

参与人数 1+1 收起 理由
jianyulei + 1 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33178
在线时间
10489 小时
注册时间
2009-3-15
帖子
4756
5
发表于 2019-1-15 19:27:10 | 只看该作者
p a.index(a.max) 获取数组中最大值元素的位置
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-27 12:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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