Page 1 of 1

принцип работы команды uo.random..

Posted: 2006-04-10 22:28:19
by Mihail
вот мне всегда было интересно.. а как работают такого рода команды? :) не только в UO (но в uo в частности) а например еще в mp3 плеере.. :) объясните ньюбу.. или кинте исходный скрипт если не трудно :)
заранее спасибо

Posted: 2006-04-11 16:48:59
by DerMeister =)
Это оч чложная задача - генерация случайного числа.

Там где требуется действительно "очень" случайное число используют специальные микросхемы (оч сложные устройства).

Как я знаю, вродебы последнее время производители процессоров встраивайт в них спец. микросхему для этого... Поэтому рандом можно прям у процессора просить...

Как я себе представляю:
Случайное число можно получить если у тебя есть какая-нить параметрическая функция, например: F(a,b,c,...,z,..). в качестве параметров a,b,c,...,z,.. можно использовать всё что угодно, например дату, время, курс доллора, температуру, и ттд чтоб получилось типа совсем случаайная комбинация чисел, слов, и тд... :)

ЗЫ:На самом деле я ХЗ... %)

Posted: 2006-04-11 19:19:41
by Yoko
мда
откройте какоето руководство по псевдослучайным числам и посмотрите алгоритм

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

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