Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2007, 15:27   #1
max4d
 
Регистрация: 29.03.2007
Сообщений: 3
По умолчанию Свой генератор случайных чисел

Привет, в общем очень нужен генератор случ. чисел, или хотя бы подскажите реализацию стандартной функции Random.
Я так понял там по ф-ле z:=(i+B+C) mod M, где BCM константы. Но, как быть с i?
Извиняйте за ламерский вопрос Спасибо.
max4d вне форума Ответить с цитированием
Старый 31.03.2007, 15:32   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Чем не устраивает Random ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.03.2007, 15:33   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

x:=random(100);
Alar вне форума Ответить с цитированием
Старый 31.03.2007, 19:37   #4
max4d
 
Регистрация: 29.03.2007
Сообщений: 3
По умолчанию

У меня задание написать игру, с поддержкой 1000 игроков(массив из объектов, каждый игрок это объект), которые бросают кости, и выигрывает тот у кого большее число раз выпало 6.
Рандом нужно написать самому, это главная часть задачи, остальное уже сделал.
Плиз если знаете скажите как этот random реализуется(там всего 3-4 строки кода кажись), а то весь инет облазил не нашёл.

Последний раз редактировалось max4d; 31.03.2007 в 19:40.
max4d вне форума Ответить с цитированием
Старый 31.03.2007, 19:57   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

max4d, рандом, это псевдослучайный рандом. По сути своей он не случаен, а имеет какуе-то закономерность. Сделайте, что угодно и назовите рандомом, потом сделайте привяку к времени и всё будет случайнее случайного.

z:=(i+B+C) mod M - сделайте i секундами. Хотя лучше побольше функцию навернуть.
Alar вне форума Ответить с цитированием
Старый 01.04.2007, 09:31   #6
Malice
Пользователь
 
Регистрация: 28.01.2007
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
z:=(i+B+C) mod M - сделайте i секундами. Хотя лучше побольше функцию навернуть.
Добится такого же распределения, как у паскалевского рандома самому будет не просто.. Период повторения у него равен $FFFFFFFF. Можно выдернуть эту реализацию дизасмом любым и использовать
Malice вне форума Ответить с цитированием
Старый 01.04.2007, 19:50   #7
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Max4d, у тебя WebMoney есть? Нет, никакой коммерции, просто если есть, то ты наверняка знаешь, как она устанавливается. Если реализация в Delphi, то ты можешь использовать огромное количество различных переменных, как-то: положение курсора, время работы компьютера,положение формы, количество значков на рабочем столе, количество запущеных приложений, количество выделенной памяти, и т.д.
Этим самым ты сделаешь такой генератор, что его будет очень сложно повторить.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 02.04.2007, 02:28   #8
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от SuperVisor Посмотреть сообщение
Этим самым ты сделаешь такой генератор, что его будет очень сложно повторить.
А какой такой ??? Что то не совсем понял, поподробнее plz!!!!
merax вне форума Ответить с цитированием
Старый 02.04.2007, 11:50   #9
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
А какой такой ??? Что то не совсем понял, поподробнее plz!!!!
Повторяю еще раз:
Цитата:
Сообщение от SuperVisor Посмотреть сообщение
Этим самым ты сделаешь такой генератор, что его будет очень сложно повторить.
Если не совсем понятно, могу перефразировать: Этим самым ты сделаешь такой генератор, который будет очень сложно повторить.
Или лучше так: Этим самым ты сделаешь такой генератор, чтобудет очень сложно его повторить.

А все-таки велик и могуч русский язык!!!

Если все-таки требуется более глубокое пояснение:
"Чем больше у генератора случайных переменных, тем уникальнее он становится" - это факт. Есть сомнения - давайте превратим это в теорему, обопремся на теорию вероятности и ... И дальше ничего писать не следует. В данном выражении имелось ввиду именно то, что качество генератора зависит от его уникальности и можно сделать его абсолютно неповторимым (или неповторяющимся).
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 02.04.2007, 12:43   #10
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Вот мой вариант random!
Код:
function MainRandom(x:integer):integer;
var
 a,b,c,d:word;
begin
  DecodeTime(gettime,a,b,c,d);
  MainRandom:=(a*b*c*d) mod x;
end;

Последний раз редактировалось execom; 02.04.2007 в 12:58.
execom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор случайных чисел на С++ ANTI Общие вопросы C/C++ 20 12.04.2009 13:02
Массивы и генератор случайных чисел Psyka Помощь студентам 6 31.07.2008 05:53
выборка случайных чисел furstenberg Общие вопросы Delphi 2 13.01.2008 21:07
генератор случайных чісел Baron Помощь студентам 7 17.11.2007 00:55
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40