2016-09-30 85 views
2

我正在开发一款摇滚纸剪刀玩家与电脑。没有什么特别的,除了每场比赛打3轮的玩家。如何在AS3中创建一个真正的随机数?

我使用这个代码来生成从1随机数到3

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

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

我不知道但是这个代码赞成号码2

含义计算机生成纸 - 纸 - 纸所以玩家注意到它,并采取优势,选择剪刀剪剪。我敢打赌你也会这样做。

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

回答

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); 
+0

我会试试这个。谢谢。 – POGI