通过了解机会获得号码

时间:2015-08-20 22:07:59

标签: php arrays

我不认为文章标题是正确的,所以我会尝试解释我需要的内容。

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

1 个答案:

答案 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);

现在,如果你还想控制每个乘数的概率......那就是另一个野兽。