查看: 6683|回复: 12

[已经过期] 关于变量随机的范围随机的问题

[复制链接]
梦石
0
星屑
50
在线时间
164 小时
注册时间
2011-8-15
回帖
209
发表于 2013-1-29 13:47:41 | 显示全部楼层 |阅读模式

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

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

×
当今本人在用VA做一个事件,需要用到随机变量的技巧,随机变量我现在已经会了,但是,如何实现将随机变量的随机范围的两个量也随机化呢?我一直想着...但是最终还是想不到,只能来这求各位的帮助了。
问题:如何实现将随机变量的随机范围的两个量也随机化呢?例如:随机数30——70,我想要将这其中的30也成为随机量,70也成为随机量,效果就像是:随机数20——40等于X,随机数60——80等于Y,最后随机数X——Y,最后得出所需要的数。

恳求各位来帮助....
梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2013-1-29 14:26:22 来自手机 | 显示全部楼层
可以让一个随机数减去另一个随机数来实现
回复

使用道具 举报

梦石
0
星屑
50
在线时间
164 小时
注册时间
2011-8-15
回帖
209
 楼主| 发表于 2013-1-29 14:38:31 | 显示全部楼层
zhangbanxian 发表于 2013-1-29 14:26
可以让一个随机数减去另一个随机数来实现

我弄的事件叫数字竞猜,必须显示一个一定的范围给玩家猜测,但是如果让这个随机数减去另一个随机数的话,这个数就不会在这个范围内了。
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-1-29 15:10:17 | 显示全部楼层
本帖最后由 Sion 于 2013-1-29 15:13 编辑

x = 20 + rand(21)
y = 60 + rand(21)
z = x + rand(y - x + 1)
回复

使用道具 举报

梦石
0
星屑
108
在线时间
1006 小时
注册时间
2008-11-9
回帖
1633
发表于 2013-1-29 16:12:11 | 显示全部楼层
事件中的随机数自然不可行,但你可以用脚本功能定义一个内部临时变量,计算完毕后再传递回传统变量
在脚本里,传统变量是"$game_variables[n]"其中n是变量的编号
而随机数的计算方法是B = B + rand(A - B + 1),其中 A 是上限,B 是下限,就是用下限 B 加上零到 A、B 之差加一的随机数,就相当于 B 到 A 的随机数

所以你可以这么写:
temp = $game_variables[1] + rand($game_variables[2] - $game_variables[1] + 1)
$game_variables[3] = temp

意思就是将1号变量到2号变量的随机数取值赋给3号变量
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2013-1-29 16:26:29 | 显示全部楼层
本帖最后由 tseyik 于 2013-1-29 16:28 编辑

乱数1〜20,21〜40,41〜60,61〜80,81〜100
1.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
164 小时
注册时间
2011-8-15
回帖
209
 楼主| 发表于 2013-1-29 21:40:13 | 显示全部楼层
判约之轮 发表于 2013-1-29 16:12
事件中的随机数自然不可行,但你可以用脚本功能定义一个内部临时变量,计算完毕后再传递回传统变量
在脚本 ...

那么,能够设置一个开关吗?开关打开时,执行脚本,然后关闭开关。

点评

应该没必要吧?并行处理事件就可以检测开关的打开状态啊?那两行脚本完全可以当做一行普通事件来用  发表于 2013-1-29 21:52
回复

使用道具 举报

梦石
0
星屑
50
在线时间
164 小时
注册时间
2011-8-15
回帖
209
 楼主| 发表于 2013-1-29 21:45:51 | 显示全部楼层
tseyik 发表于 2013-1-29 16:26
乱数1〜20,21〜40,41〜60,61〜80,81〜100

你说的这样我会,但是我的要求却不是这样,是将两个随机变量范围X、Y随机化,如:
变量A=随机数X——Y
将上面的随机数下限X,也弄为随机数,Y也一样。即:
X(10——20)——Y(30——40)

点评

我不太明你的要求,你擧一個實例看看  发表于 2013-1-29 22:00
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2013-1-29 22:10:39 | 显示全部楼层
本帖最后由 tseyik 于 2013-1-29 22:41 编辑

這様?
1.png
範圍x(20〜40)<>(x+10+乱数0〜10)
柤差
3.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
164 小时
注册时间
2011-8-15
回帖
209
 楼主| 发表于 2013-1-30 11:49:53 | 显示全部楼层
tseyik 发表于 2013-1-29 22:10
這様?

範圍x(20〜40)(x+10+乱数0〜10)

可以是这样,只是,如果设置成这样的话,那么竞猜的数字能够很容易的被玩家猜出来,所以,必须要是随机变量。

点评

你直接提出X範囲,Y範囲巴  发表于 2013-1-30 12:28
那也是変量巴,這會産生X=20〜40,Y=X+10+0〜10  发表于 2013-1-30 12:25
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部