我有一个游戏开发项目,并且我具有特定角色,该角色的技能之一就是它有10%的几率将其攻击加倍。
问题:如何触发它?
答案 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 / better比rand()
。
答案 2 :(得分:0)
例如,这段代码在理论上会使值增加一倍三倍?我很难理解你。
$value = 200;
if (rand(1,3)===1) {
$value*=2;
}
或许这可能是百分比:
$value = 200;
$percent = 30;
$chance = rand(1, 100);
if ($chance <= $percent) {
$value *= 2;
}