[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: stats_rand_gen_normal() не работает
Santehnick
Может быть кто-нибудь работал с PECL-расширением stats, а именно с функцией stats_rand_gen_normal У меня беда, ну никак она не хочет работать, пробовал передавать на вход функции и float и int, толку ноль, браузер выдает 502 Bad Gateway, для других rand функций из этого расширения тоже самое, а другие функции не связанные с рандомом работают нормально. Пробовал версии расширения 1.0.1/2/3 везде одно и тоже. ОС GNU/Linux Ubuntu 12.04, PHP 5.3.10, работает как FPM/FastCGI. В интернете не могу найти вообще пользовались этим модулем кто-нибудь или нет.

Спасибо.
Игорь_Vasinsky
какую цель преследуешь?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Santehnick
Запустил скрипт на выполнение через bash, получил
PHP Fatal error:  Call to undefined function stats_rand_gen_normal() in /home/sda/www/test.loc/battle.php on line 296

Видимо проблема в самом модуле.

Цитата
какую цель преследуешь?

сражения между игроками. написал простенький скрипт, который проводит любое количество автобоев между двумя игроками и выдает статистику, кто сколько победил и проиграл, сколько ничьих и т.п. основная идея в том, что у игроков есть некое одинаковое количество поинтов, которые они могут потратить на 2 параметра на силу и выносливость, потратить они могут их как угодно, кто может все потратить на силу и наносить мощный удар, но иметь мало здоровья, другой может все потратить на выносливость и иметь много жизней, но слабый удар или разделить и вложить как в один параметр так и в другой. Суть в том, что все они должны быть равны между собой, поскольку у всех у них изначально одинаковое количество поинтов. То есть, есть некое множество различных стратегий, одну из которых может выбрать игрок, но все стратегии должны быть равны между собой, то есть не должно быть доминирующей стратегии. Теперь если урон выражается одной конкретной цифрой, то все хорошо, но если урон сделать плавающим, то есть урон имеет минимальную и максимальную точки в пределах которых генератором случайных чисел выбирается конкретное число, то появляются доминирующие стратегии, которые могут быть эффективнее другой от 2 до 20%.

Так вот мне товарищ из яндекса подсказал, что генерировать обычным rand() это немного неправильно, поскольку он генерирует равно вероятностные значения, а та функция которую так и не получилось поднять, по идее должна была генерировать средне квадратическое значение, с неким отклонением которое я задал, то есть в большинстве бы случаев генерировалось среднее значение, но иногда были бы и отклонения, обычный rand и производные от него так не умеют.

Вообщем это сложно наверное понять будет, поскольку это нужно все видеть своими глазами, стоять рядом со мной и смотреть, что происходит и почему один оказывается сильнее другого. Происходит это из-за того, что когда урон плавающий получается что одному например нужно сделать два самых мощных удара и один любой удар, то есть всего 3 удара чтобы победить соперника, а второму нужно например только все 3 удара сделать самые мощные, иначе он не выиграет. первый будет выигрывать чаще, это основная проблема.
inpost
Есть ещё mt_rand.
При этом, если учесть, что rand генерирует равное случайное число, и если одновременно будут несколько людей находиться на сайте, что это вполне очевидно.

Возьмем кубик и кидаем 100 раз, в итоге на выходе получим равномерное выпадание каждой из граней, такова реальность, аналогично и rand работает.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Santehnick
ну да, я mt_rand и использовал
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.