如何在AS3中以相同的机会制作一个真正的随机?

时间:2016-09-30 13:34:11

标签: javascript actionscript-3 flash random flashdevelop

我正在开发一种摇滚纸剪刀游戏机与电脑。除了每场比赛3轮比赛之外,没有什么特别之处。

我正在使用此代码生成1到3的随机数

Math.floor(Math.random()*(1+3-1))+1

1 =剪刀,2 =纸,3 =摇滚

我不确定这个代码是否支持2号。

意味着计算机生成纸 - 纸 - 纸,以便玩家注意并利用它并选择剪刀 - 剪刀 - 剪刀。我打赌你也会这样做。

如何在AS3中生成真正的随机性?

1 个答案:

答案 0 :(得分:5)

您的代码是正确的,尽管它可以简化为Math.floor(Math.random()*3) + 1。这将返回1到3之间的数字,并且分布应该是统一的(除非Flash播放器中存在大错误)。

您可以通过循环数字并计算每个数字的出现来验证这一点。例如:

var count = [0,0,0];
for (var i = 0; i < 10000; i++) {
    var n = Math.floor(Math.random()*3) + 1;
    count[n-1]++;
}

trace(count);