DelphinPRO пишет:я так думаю, нужно знать общее количество выпавших подарков
$rand = mt_rand(0,4);
DelphinPRO пишет:
количество выпадений каждого подарка (PRIZE) и шанс в процентах для каждого подарка (CHANCE).
Так то в этом и проблема, сначало получаем кол-во возможно выпавших подарков, а только после считываем это кол-во с базы, но надо ещё так же и просчитать теорию вероятности сразу или после.. я это и не могу выполнить правильно.
DelphinPRO пишет:
тогда сможем определить процент выпадения подарка (PRIZE/ALL)*100
и если он больше допустимого - отдаем пользаку
Так я и определяю:
if ($p["chance"]>$r)
Если подарок с шансом *** больше чем выпало цифр нам, то держи.
DelphinPRO пишет:
Значение ALL инкрементируем при выпадении любого подарка, а PRIZE при выпадении конкретного подарка.
Как-то так, наверное.
А не могли бы показать с уже моим примером что Вы имели ввиду?
Сформулирую иначе:
Всего 10 подарков.
Упасть могут 0 - 4
Предположим, выпало число 2.
Значит считать с таблицы нужно 2 подарка и сразу учесть наш шанс и шанс выпада самого подарка.
Если нам повезло дважды, соотвественно - добавляем человеку 2 подарка.
Вот в этом и проблема. (Отредактировано автором: 24 Марта, 2013 - 02:30:43)
|