我正在开发一种摇滚纸剪刀游戏机与电脑。除了每场比赛3轮比赛之外,没有什么特别之处。
我正在使用此代码生成1到3的随机数
Math.floor(Math.random()*(1+3-1))+1
1 =剪刀,2 =纸,3 =摇滚
我不确定这个代码是否支持2号。
意味着计算机生成纸 - 纸 - 纸,以便玩家注意并利用它并选择剪刀 - 剪刀 - 剪刀。我打赌你也会这样做。
如何在AS3中生成真正的随机性?
答案 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);