知道一定百分比的机会是否触发的任何想法

时间:2012-09-11 13:58:52

标签: php

我有一个游戏开发项目,并且我具有特定角色,该角色的技能之一就是它有10%的几率将其攻击加倍。

问题:如何触发它?

3 个答案:

答案 0 :(得分:3)

我希望我理解这个问题:

<?php
$random = rand(1,10);
if(($random == 1) || ($random == 2) || ($random == 3))
    $value += $value;
?>

在这里你有30%的几率击中1,2或3 ..如果它被击中,那么你的价值会翻倍。

现在好了你的更新你只需要10%的几率?但没关系:

<?php
$random = rand(1,10);
if($random == 1)
    $value += $value;
?>

答案 1 :(得分:1)

function doubleHit($percentChance = 30)
{
    if (mt_rand(1,100) <= $percentChance) {
        return true;
    }

    return false;
}

var_dump(doubleHit(35)); // will return either true / false

请注意,这只是伪随机数。另请注意,此is faster / betterrand()

答案 2 :(得分:0)

例如,这段代码在理论上会使值增加一倍三倍?我很难理解你。

$value = 200;
if (rand(1,3)===1) {
   $value*=2;
}

或许这可能是百分比:

$value = 200;
$percent = 30;
$chance = rand(1, 100);
if ($chance <= $percent) {
    $value *= 2;
}