Как изменить шансы в лучшую сторону?
Всем добрый вечер, возник такой вопрос как изменить "шанс выпадения так скажем" в лучшую и худшую сторону, перепробовал много так и не понял, нуждаюсь в помощи. Используется как режим игры Dice на сайте, может кто шарит.
try {
$win = 0;
$win_sum = 0;
$profit = 0;
$chance = round($perc, 2);
$vip = 100/$chance;
$rand = rand(0, 999999);
if($sum == round($sum*$vip, 2)) {
DB::rollback();
return response()->json(['type' => 'error', 'msg' => 'Ваша ставка равна выигрышу!']);
}
if($chance > 80) $prod = 5;
elseif($chance > 60 && $chance <= 80) $prod = 20;
elseif($chance > 40 && $chance <= 60) $prod = 35;
elseif($chance > 20 && $chance <= 40) $prod = 50;
elseif($chance > 10 && $chance <= 20) $prod = 70;
elseif($chance > 5 && $chance <= 10) $prod = 80;
elseif($chance <= 5) $prod = 95 ;
if($type == 'min') {
$generate = floor($chance/100*999999);
if(mt_rand(1, 100) <= $prod) {
while(in_array($rand, range(0, $generate))) {
$rand = rand(0, 999999);
}
}
if($this->user->is_youtuber && mt_rand(1, 100) > 60) $rand = rand(0, $generate);
if(in_array($rand, range(0, $generate))) $win = 1;
}
if($type == 'max') {
$generate = round(999999-$chance/100*999999);
if(mt_rand(1, 100) <= $prod) {
while(in_array($rand, range($generate, 999999))) {
$rand = rand(0, 999999);
}
}
if($this->user->is_youtuber && mt_rand(1, 100) > 60) $rand = rand($generate, 999999);
if(in_array($rand, range($generate, 999999))) $win = 1;
}
Ответы (1 шт):
Автор решения: Alexander
→ Ссылка
Измените значение переменной $chance. Это шанс, число от 0 до 100.
try {
$win = 0;
$win_sum = 0;
$profit = 0;
$chance = 80;