![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 2
|
Для создания Flash-викторины нужен генератор случайных чисел с неповторяющимися данными AS2. Прошу помощи.
|
|
|||||
|
Регистрация: Oct 2005
Сообщений: 207
|
Если диапазон достаточный, а количество запусков ограничено:
var RNDVALUES = []; //Здесь храним числа
RND = function (MIN, MAX)
{
//Получаем число
var RETVAL = Math.floor(Math.random() * (MAX - MIN) + MIN);
//Проверяем число на уникальность
for (var i = 0; i < RNDVALUES.length; i++)
{
if (RNDVALUES[i] == RETVAL)
{
RETVAL = RND (MIN, MAX);
break;
}
}
return RETVAL;
}
//Для примера
onEnterFrame = function ()
{
RNDVALUES.push(RND(0, 100));
trace (RNDVALUES);
}
|
|
|||||
|
Vertax, а зачем там нужна конструкция
ведь можно было б просто написать max (но тогда не учитывается нижняя граница) ЗЫ. Надеюсь никто не против, что встрял в чужую тему, просто стало интересно.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
У тебя вызов функции при выбори чисел 0-1000 происходит 3500-5000+ раз
.Если задать диапазон чисел из каторых мы будем делать выбор например 0-100. И при выборе числа исключать его из этого диапазона, то будет гораздо проще как мне кажется . |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 207
|
Цитата:
А формула Math.random() * (MAX - MIN) + MIN. Математика блин. Цитата:
Цитата:
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Неважно сколько чисел главное чтобы хватило памяти
. Способ каторый я описал оптимальней в любом случае...Правильнее просто геерировать рандомный диапазон и из него делать выбор |
|
|||||
|
согласен с qazwsx
мне кажется так будет наиболее оптимально |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 2
|
всем спасибо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|