我有一个游戏开发项目,我有一个特定的角色,角色的技能之一是它有 10% 的机会使其攻击加倍。
问:如何触发?
我希望我理解你的问题:
<?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;
?>
function doubleHit($percentChance = 30)
{
if (mt_rand(1,100) <= $percentChance) {
return true;
}
return false;
}
var_dump(doubleHit(35)); // will return either true / false
请注意,这只是伪随机。另请注意,这比rand()
.
例如,这段代码理论上会将值加倍三分之一?我很难理解你。
$value = 200;
if (rand(1,3)===1) {
$value*=2;
}
或者也许这个,百分比:
$value = 200;
$percent = 30;
$chance = rand(1, 100);
if ($chance <= $percent) {
$value *= 2;
}