![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
random такой:
loadMovieNum ("../../directory/"+Math.ceil(Math.random()*30)+".swf", 1000); как сделать чтобы он не повторял предыдущий, или лучше даже чтобы ещё следующи после него тоже не поторял....? Вроде понятно изложил суть вопроса... ![]() |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Делаешь массив имен, использованное имя метишь как пройденное в таком-то проходе. Если на него выпадает рандом, то рероллишь этот рандом. Счетчик проходов инкрементируешь, естесстна.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
"Ниразу не флэшер"
|
masCount = 10; //cколько элементов надо расставить
a = new Array(masCount);
for (i=0;i<masCount;i++){
oo1=0;
while (oo1==0){
oo1=2;ooo=random(masCount);
for (i1=0;i1<i;i1++) if (a[i1]==ooo)oo1=0;
}
a[i]=ooo;
}
заполняет массив a размерности masCount числами от 0 до masCount без повторов.
__________________
стучитесь в асю за дополнительной помощью.... ЗЫ: ПОИСК действительно рулит. |
|
|||||
|
Ухх.. я не думал, что всё так трудно....
Т.е. мне тот код нужно вставить после лоад муви, и всё заработает? ![]() |
|
|||||
|
"Ниразу не флэшер"
|
послен выполнения того кода у тебя в массиве a будут лежать случайные числа от 0 до 9 неповторяющиеся
то есть что то типа a[0]=4; a[1]=2; a[2]=9; a[3]=0; и т.п. как их заюзать - разбирайся ;-)) что-то типа в первом кадре, там пишешь этот код и i=0; потом loadMovieNum ("../../directory/"+a[i]+".swf", 1000); i++; ![]()
__________________
стучитесь в асю за дополнительной помощью.... ЗЫ: ПОИСК действительно рулит. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
по-моему надо быть проще
самый рациональный вариант тебе сказал делимитер в самом начале... только я не понял причем тут счетчик рандомов ![]() // предел рандома + массив уже использованных limit=30, hits=[]; // // там, где нужно запускать лоад пишешь три строчки: while (hits[tmp=Math.ceil(Math.random()*limit)]) {} hits[tmp] = true; loadMovieNum("../../directory/"+tmp+".swf", 1000); ...и все собственно ![]() только учти, что чем больше будет загружаться, тем дольше рандом будет искать неиспользованные ячейки - значит надо сразу задать предел в несколько раз больший чем количество твоих мультиков - просто чтоб не притормаживало... Последний раз редактировалось Nox Noctis; 22.07.2002 в 14:54. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
2lexass
Эт здорово, что хоть ТЫ меня понял ;))) В условии требовалось не повторять как минимум два предыдущих, но ничего не было про НЕ ПОВТОРЯТЬ ВООБЩЕ. Так что у меня все правильно :)) Так что Egoritch идет в угол за много лишнего кода.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
хе-хе-хе.... а я на две минуты раньше
![]() |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Я заметил (мрачно)...
__________________
...убивать людей не удовольствия ради, но для еды. |
![]() |
Часовой пояс GMT +4, время: 06:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|