2016-09-30 55 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