Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нужен рандом, который всегда даёт один и тот же набор в не зависимости от времени (http://www.flasher.ru/forum/showthread.php?t=120742)

krolser 29.01.2009 15:33

Нужен рандом, который всегда даёт один и тот же набор в не зависимости от времени
 
Нужен предсказуемый рандом, который всегда даёт один и тот же набор в не зависимости от времени запуска.

Пример. Запустил приложение -- получил числа 0.1123 0.534 0.23423. При повторном запуске опять получил эти же "случайные" числа.

Дело в том, что результат работы Math.random() зависит от времени запуска.

В паскале (как в других языках точно не помню), например, random всегда давал одни и теже значения. А вот если хочешь, чтобы при следующем запуске давал новые, необходимо было вызвввать randomize(), которая и привяжет счётчик псевдослучайных чисел к текущему времени.

mre 29.01.2009 15:47

Придется хранить однажды сгенерированные числа.

iNils 29.01.2009 15:51

Написать свой рандом.

Smrad 29.01.2009 16:52

http://ru.wikipedia.org/wiki/%D0%9B%...82%D0%BE%D0%B4

Obi 29.01.2009 16:54

Код AS3:

public static function myRnd(... args):Number {
        return args[Math.round(Math.random()*(args.length -1))];
}


krolser 29.01.2009 18:57

Цитата:

Сообщение от iNils (Сообщение 794269)
Написать свой рандом.

Цитата:

Сообщение от mre (Сообщение 794266)
Придется хранить однажды сгенерированные числа.

Спасибо за варианты. Хранить сгенерировнные значения для меня не самая лучшая идея, т.к. чисел будет очень много и они будут занимать больше места, чем необходимые мне данные. IMHO, лучше объединить два метода ;-). Ганарировать и сохранять первый случайный элемент для моего самописного рандома.

Для реализации ГПСЧ буду читать соответсвующую статью.

Цитата:

Сообщение от Obi (Сообщение 794283)
Код AS3:

public static function myRnd(... args):Number {
        return args[Math.round(Math.random()*(args.length -1))];
}


Не пойдет. При повторном запуске приложения получу совершенно другой набор значений.


Часовой пояс GMT +4, время: 00:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.