0

我有一个游戏开发项目,我有一个特定的角色,角色的技能之一是它有 10% 的机会使其攻击加倍。

问:如何触发?

4

3 回答 3

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;
?>
于 2012-09-11T14:05:05.190 回答
1
function doubleHit($percentChance = 30)
{
    if (mt_rand(1,100) <= $percentChance) {
        return true;
    }

    return false;
}

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

请注意,这只是伪随机。另请注意,这rand().

于 2012-09-11T14:10:53.040 回答
0

例如,这段代码理论上会将值加倍三分之一?我很难理解你。

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

或者也许这个,百分比:

$value = 200;
$percent = 30;
$chance = rand(1, 100);
if ($chance <= $percent) {
    $value *= 2;
}
于 2012-09-11T14:01:35.593 回答