2015-08-20 38 views
0

我不認爲文章標題是正確的,所以我會盡力解釋我需要什麼。通過了解機會獲取號碼

ATM我有數組:

array(
     'start'   => 1, 
     'end'   => 10, 
     'lucky_numbers' => 6 
    ); 

,知道這陣我可以定義機會贏得60%超出100%。下一部分是第二個數組:

array(0, 1.25, 0.5, 1.25, 0, 3, 0, 1, 0.5, 1.25, 0.5, 1.25, 0, 2, 0.5, 2) 

這是很難的部分。我不知道如何選擇一個數字,知道選擇不爲零的機會是60%。有任何想法嗎?

EDIT

這是車輪號碼。當用戶旋轉輪子時,我需要給他60%的勝利機會。因此,60%的機率不旋轉的0

+0

這個第二個數組究竟與第一個數組有關? –

+0

第一個數組定義贏的機會是60%(10個數字中的6個是幸運的)。所以看第二個數組我們應該知道機會得到零隻有40% –

+0

仍然困惑,你想用第二個數組做什麼?你想知道哪個數字是這些字段中最大數字的60%? – samayo

回答

1

讓我看看我的理解:

- 這是一個「槽狀」的獎金爲在那裏你滾「輪」,表示符合候選條件乘數遊戲乘數的minigame玩家可以贏,這個輪子是第二個數組,這個數組長度是可變的。

- 你想給玩家一個可能獲勝的機會(有時是60%,有時是80%,有時是20%)。

如果你只想確定玩家沒有得到「0%」乘數,做相反的操作,出現一個「0%」出現的可能性並將它們放入數組中,然後填充帶有隨機乘法器的數組並對其進行混洗。

$multipliers = [0.5, 1.25, 2, 3]; 
$wheel = []; 
for ($i = 0; $i < $arraylenght; $i++) { 
    if ($i < floor($arraylenght * (1 - ((float)$luckyNumbers/10)))){ 
     $wheel[] = 0; 
    } else { 
     $wheel[] = array_rand($multipliers); 
    } 
} 
shuffle($wheel); 

現在,如果你還想控制每個乘數的概率......那是另一個野獸。

+0

你是男人。你會朝着好的方向發展。另一個野獸的問題 - 我解決了它。我的代碼看起來並不完美,但是這裏是:[link](http://i.imgur.com/qNxpUAm.png) - 邏輯和我想的一樣,但是你的代碼應該比我的更快! –