Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для jumper423
3 / 3 / 1
Регистрация: 01.03.2011
Сообщений: 87

Random и его работа

23.07.2013, 15:44. Показов 2674. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Скажите пожалуйста как работает генератор случайных чисел в Flash-e (функция Math.random ()).

Каким образом оно генерирует числа?

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2013, 15:44
Ответы с готовыми решениями:

Работа с Random
Мне нужно заполнить любой массив случайными числами, от -9 до 10, подскажите как это сделать? Спасибо за ответы. Добавлено через...

Работа с random
Доброго времени суток! У меня есть массив int a={10,20,30,40,50}. Можно сделать так, чтобы выводились эти числа рандомом и не...

Random: как его использовать и применить в приведенном коде
Приветик знатокам. Возник вопрос. Как работает метод рандом. Дело в том, что я записала как поняла и вроде все компилируется, но...

11
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
24.07.2013, 11:59
от 0 до 1, не включая 1.
Если нужно, допустим от 0 до 10 -
int(Math.random() * 11);
от 3 до 15
3 + int(Math.random() * 13);

Вообще все подробно описано в helpe aboba
0
 Аватар для swfnerd
9 / 9 / 3
Регистрация: 14.07.2013
Сообщений: 29
24.07.2013, 14:34
Вроде бы спрашивали не как пользоваться, а как он работает.
Работает он примерно так:
http://hg.mozilla.org/tamarin-... .cpp#l1697
(см. начиная с этого метода и все что повыше).
1
 Аватар для jumper423
3 / 3 / 1
Регистрация: 01.03.2011
Сообщений: 87
24.07.2013, 21:50  [ТС]
Цитата Сообщение от swfnerd Посмотреть сообщение
Вроде бы спрашивали не как пользоваться, а как он работает.
Работает он примерно так:
http://hg.mozilla.org/tamarin-... .cpp#l1697
(см. начиная с этого метода и все что повыше).
Не знаете ли Вы, на каких принципах основывается рандомность (От куда берутся значения для генерации случайных чисел. Это системное время или что-то другое) ?.
0
 Аватар для swfnerd
9 / 9 / 3
Регистрация: 14.07.2013
Сообщений: 29
24.07.2013, 22:28
Ну я ж кинул ссылку, там все очень подробно, даже комментариев куча, основная магия происходит в RandomPureHasher.

Вкратце - время используется при инициализации, потом сплошная логика и математика.
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
24.07.2013, 22:35
По ссылке выше:

C++
1
1565        pRandomFast->uValue = (uint32_t)(VMPI_getTime());
1
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
25.07.2013, 08:00
Вообще лично меня никогда не устраивал принцип работы стандартного Math.random(). В нем нем нельзя даже банально изменить сид. Вот этот класс Rndm.as выглядит поинтереснее стандартного, да и все внутренности посмотреть можно.
Вложения
Тип файла: zip Rndm.as.zip (1.9 Кб, 10 просмотров)
0
 Аватар для swfnerd
9 / 9 / 3
Регистрация: 14.07.2013
Сообщений: 29
25.07.2013, 11:46
Если не устраивает стандартный, то можно использовать безопасный
generateRandomBytes
1
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
25.07.2013, 22:20
Theoryofgames, этот класс как минимум неудобный. что бы вызвать статическое поле мне надо проинициализировать _instance, хотя это можно и избежать поправив класс. и вообще упртй клсс, зчм тк псть?

мол что бы мне получить Math.random() > .5, надо делать Rndm.instance.boolean(), ужасы какие

Цитата Сообщение от Theoryofgames Посмотреть сообщение
банально изменить сид
не могу придумать практическое применение изменения сида
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
29.07.2013, 08:24
Цитата Сообщение от nubideus Посмотреть сообщение
не могу придумать практическое применение изменения сида
В течении одного сеанса нужно выдавать одно и то же значение, при изменении сеанса нужно выдавать другое значение. Конечно, можно кэшировать данные, но это так, навскидку. В проекте, котором я сейчас учавствую (социальная игра) сид используется довольно часто.
1
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
30.07.2013, 00:37
Theoryofgames, не забудь уточнить, что указанный пример для целых чисел (1е сообщение).

Цитата Сообщение от Theoryofgames Посмотреть сообщение
В течении одного сеанса нужно выдавать одно и то же значение, при изменении сеанса нужно выдавать другое значение.
Проще создать переменную с нужным значением, при изменении сеанса изменять значение переменной. Хранение объекта ссылочного типа может быть продиктовано разными соображениями, но это уже никак, думаю, не относится к вопросу рэндома.
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 2
16.02.2017, 01:38
Цитата Сообщение от Theoryofgames Посмотреть сообщение
от 0 до 1, не включая 1.
Если нужно, допустим от 0 до 10 -
int(Math.random() * 11);
от 3 до 15
3 + int(Math.random() * 13);

Вообще все подробно описано в helpe aboba
Спасибо за алгоритм, всю жизнь использовал Math.round(Math.random()*10) - такая функция имела вероятность получения чисел 0 и 10 вдвое ниже, чем 2-9.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2017, 01:38
Помогаю со студенческими работами здесь

Неправильная работа random.next()
Есть класс PersonClass отдельным файлом и есть массив Persons экземпляров этого класса в моей форме. При создании экземпляра класса...

Создать список через Random и затем сравнить его с заданным
Не могу сравнить два списка, вот код, ругается на типы. Пробовал задать список непосредственно в самом коде, а не через getLine, тогда...

Работа с random (координаты Image)
Доброго времени суток! Мне нужно чтобы картинки перемещались по определенным,заданным, координатам после нажатия кнопки. Пробовал так,...

Подозрительная работа класса Random
Всем доброго времени суток! Помогите мне, плиз, разобраться с проблемой! а то у меня сейчас голова взорвётся от творящихся странностей! ...

Объявите массив от 1 до N и заполните его вещественными числами, используя функцию random
1 Задача.Введите массив с использованием текстового поля Memo. Выведите на форму в диалоговое окно InputBox.Как в дельфи реализовать. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru