Читая мануалы 03/20/2003, вы не защитите свой проект, а наоборот.
Конечно, при рег глобал он, это навредит.
Читайте актуальную документацию.
В смысле ?
В прямом.
Переменные использовать можно, если аккуратно.
В некоторых случаях это даже удобно.
Но "пихать" их в include не стоит без предварительной "обработки".
Лучше за ранее подготовить доступные.
Возьмем пример с переходом по страницам на сайте и вывод модулей:
я так думаю, нужно знать общее количество выпавших подарков
$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 подарка.
Что выходит.
Сначало выбирает случайное число от 0 до 4.
Если больше чем 0, считываем с таблицы prizes случайное кол-во подарков, в зависимости что нам выпало.
Прекрасно выбирает рандомные подарки и только после, с учетом их % выпадения выдает человеку.
Так вот, у каждого подарка есть свой % шанса, что он выпадет.
Не выходит сделать следующее:
Необходимо чтоб подарки могли выдаватся с учетом их шанса.
К примеру:
id=1; group = 1; chance = 100
id=2; group = 1; chance = 26.6
id=3; group = 1; chance = 24.2
id=4; group = 1; chance = 100
id=5; group = 1; chance = 13.3
id=6; group = 1; chance = 11
проблема: Чтоб подарки с наибольшем значением chance падали чаще.
У меня же сейчас выбирает абсолютно рандомные подарки и выдает.
Помогите пожалуйста решить проблему.
п.с. Если что-то непонятно, напишите - попробую переформулировать.