Доброго времени суток!
Подскажите как в php сделать например выпадение рандомно Из базы предмета в зависимости от процента!Вот допустим есть вещь1, вещь2.
У вещи1 шанс в поле chance равен 30, у вещи2 равен 40.
Допустим игрок нажимает на ссылку "испытать удачу" при нажатии из базы берется вещь в зависимости от поля chance, чем больше шанс тем больше будет падать вещь у которой шанс больше, и меньше будет падать вещь у которой шанс меньше!
Как сделать подскажите плз
Если нужен шанс 30%, запускаем случайный генератор от 1 до 100. Если число входит в диапазон меньше 30 - значит выдаем, иначе - извините.
Все зависит от самого алгоритма генератора случайных чисел. Вот неплохой вариант:
[php:1:660af784eb]<?php
//вероятность 30%
$chance=30;
if(mt_rand(1, 100)<=$chance) echo 'Поздравляю! Плюшек вам и печенек';
else echo 'В другой раз повезет!';
?>[/php:1:660af784eb]
Вот этим скриптиком проверил:
[php:1:660af784eb]<?php
//вероятность 30%
$chance=30;
$ok=0;
$lose=0;
for($i=1; $i<=100000; $i++)
{
if(mt_rand(1, 100)<=$chance) $ok++; else $lose++;
}
echo $ok, ' ', $lose;
?>
[/php:1:660af784eb]
Результаты: 29967 70033; 30036 69964; 29870 70130.
То есть, шанс первого варианта как раз около 30%, что и требовалось.
С тебя плюсик и печеньки
Хотя по идее, это не то что надо
По хорошему надо записывать куда-то результаты, и выводить допустим при 30% шансе...
Нужно продумать математический аспект алгоритма.
добавлено спустя 7 минут:
Случайно берём вещь из базы и учитываем указанные проценты.Ведём отсчет количества 'нажатий' исп.удач. и вычисляем определённым образом.
добавлено спустя 8 секунд: