我不认为文章标题是正确的,所以我会尝试解释我需要的内容。
ATM我有阵列:
array(
'start' => 1,
'end' => 10,
'lucky_numbers' => 6
);
并且知道这个数组我可以定义获胜的机会是100%的60%。下一部分是第二个数组:
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%。有任何想法吗?
修改
这是轮数。当用户旋转方向盘时,我需要给他60%的获胜机会。所以有60%的几率旋转不是0
答案 0 :(得分:1)
让我看看我是否理解:
- 这是一个“像牌”奖金乘数迷你游戏,你可以滚动一个“轮子”显示玩家可以赢得的可能乘数,这个轮子是第二个数组,这个数组在长度上是可变的。
- 你想让玩家有机会获胜(有时是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);
现在,如果你还想控制每个乘数的概率......那就是另一个野兽。