Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法知道某个百分比的几率是否会触发_Php - Fatal编程技术网

Php 有没有办法知道某个百分比的几率是否会触发

Php 有没有办法知道某个百分比的几率是否会触发,php,Php,我有一个游戏开发项目,我有一个特殊的角色,这个角色的技能之一是它有10%的几率加倍攻击 问题:如何触发它?例如,此代码理论上会使值三倍于一?我很难理解你 $value = 200; if (rand(1,3)===1) { $value*=2; } 或者这个,百分比: $value = 200; $percent = 30; $chance = rand(1, 100); if ($chance <= $percent) { $value *= 2; } $value=2

我有一个游戏开发项目,我有一个特殊的角色,这个角色的技能之一是它有10%的几率加倍攻击


问题:如何触发它?

例如,此代码理论上会使值三倍于一?我很难理解你

$value = 200;
if (rand(1,3)===1) {
   $value*=2;
}
或者这个,百分比:

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

例如,如果($chance这个代码理论上会使值加倍三分之一?我很难理解你

$value = 200;
if (rand(1,3)===1) {
   $value*=2;
}
或者这个,百分比:

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

如果($chance我希望我能理解你的问题:

<?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;
?>

我希望我能理解您的问题:

<?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;
?>

函数双击($percentChance=30)
{
if(mt_rand(1100)
函数双击($percentChance=30)
{


如果(mt_rand(1100)嗯?不知道你在说什么。对不起,我英语不好。我有一个游戏项目,情况是“士兵”有10%的几率使他的攻击次数增加两次,所以如果他的正常攻击是100,那么将有10%的几率使其达到200我怎么做?问题不是英语,而是问题描述。请用上述评论更新你的问题。嗯?不知道你在说什么。对不起,我英语不好。我有一个游戏项目a第二种情况是“士兵”有10%的几率使他的攻击次数增加两次,所以如果他的正常攻击次数为100,则有10%的几率使其达到200。我该怎么做?问题不在于英语,而在于问题描述。请用上述评论更新您的问题。为什么要投否决票?至少给我一些反馈,只是尽力帮助。您的机会是33333%a你的机会是33333%,而不是30%,我想如果这个百分比是90%,他可能需要检查一下(随机==1)|(随机==2)|(随机==3)|(随机==4)|(随机==5)|(随机==6)|(随机==7)|(随机==1249)|我已经回答了这个问题,布兰德·沃什:)如果百分比是90%,他可能必须检查一下($random==1)| |($random==2)|($random==3)| |($random==4)|($random==5)|($random==6)|($random==7)|($random==8)|($random==9))我已经回答了这个问题,布兰德·沃什:)我可以将$percentChance更改为任何值吗?例如从1%-100%更改为任何值吗?当然没有问题。只需传递另一个整数,它就会工作。只需一个双击百分比的示例。在您的问题示例中,它将是10。我可以将$percentChance更改为任何值吗?例如从1%-100%更改为任何值吗?当然没有问题。只需传递另一个整数,它就会工作我成功了。只是一个双重命中率的例子。在你问题的例子中是10。