0
我正在開發一個應用程序的Node.js其中一個獲獎者必須是隨機選擇基於它在[0,100]%的範圍內取勝概率加權隨機選號
我的代碼如下:
var activeGame = {
id: 12324,
type: 1,
active: true,
players: [{
id: 5032,
name: "Username",
foo: true,
winProbability: 56.32 //%
}, {
id: 98243,
name: "Username",
foo: true,
winProbability: 22.68 //%
}, {
id: 10943,
name: "Username",
foo: false,
winProbability: 21.00 //%
}],
};
我發現其他算法不是非常明確,並且不適用於概率加起來爲100%。
我正在尋找一種方法來創建一個function selectRandomWinner()
到返回獲獎玩家的索引但我卡住了,所有和任何幫助將不勝感激。謝謝!
生成單個隨機數0..100。將它與第一個玩家的號碼進行比較。減?他贏了。如果更大,則比較第一個和第二個玩家的數字的總和。還是更大?然後添加第三個玩家的號碼....等等。簡而言之,只需將您的選擇與您下注時玩家的總數相加即可。最後一名球員將導致總和爲100,所以當所有其他球員失敗時(以及正確的數額),他將獲勝。 –