我建立的系统取决于正确的百分比获胜机会。我没有找到一个似乎接近的解决方案,百分比表明的可能性。
在我的最佳测试中,我在100k尝试中获得了30%-39%的胜利,可能性为0.6%。 (目前,最低的机率约为0.025%)
如果机会大约为1-3%,但30%-39%,对我来说不重要吗?这是现在最接近的代码。function randChance($percent){
$number = 100;
$percent *= $number;
while(floor($percent) != $percent){
$number *= 10;
$percent *= 10;
}
$rates = [$number,$percent];
for ($i = 0; $i <= count($rates); $i++) {
$rate = $rates[$i] * 100;
for ($j = 0; $j <= $rate; $j++) {
$chance[] = $i;
}
}
shuffle($chance);
$rnd = mt_rand(0,(count($chance)-1));
return $chance[$rnd];
}