0

私はゲーム開発プロジェクトを持っており、特定のキャラクターを持っています。キャラクターのスキルの1つは、攻撃が2倍になる可能性が10%あることです。

質問:どうすればトリガーできますか?

4

3 に答える 3

3

私はureの質問を理解することを願っています:

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

ここでは、30%の確率で1、2、または3をヒットします。ヒットすると、値が2倍になります。

さて、あなたのアップデートのために、あなたは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

たとえば、このコードは理論的に3回に1回値を2倍にしますか?私にはあなたを理解するのは難しいです。

$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 に答える