![]() |
Random LoadMovie (1,2,3.....10) без повторов?
random такой:
loadMovieNum ("../../directory/"+Math.ceil(Math.random()*30)+".swf", 1000); как сделать чтобы он не повторял предыдущий, или лучше даже чтобы ещё следующи после него тоже не поторял....? Вроде понятно изложил суть вопроса... :D :) :p |
Делаешь массив имен, использованное имя метишь как пройденное в таком-то проходе. Если на него выпадает рандом, то рероллишь этот рандом. Счетчик проходов инкрементируешь, естесстна.
|
Код:
masCount = 10; //cколько элементов надо расставитьзаполняет массив a размерности masCount числами от 0 до masCount без повторов. |
DeliMIter, лично Я тЯ понял =)))
ИМХО мо быть массив заполнили, то что отЮзали выкинули ? |
Ухх.. я не думал, что всё так трудно.... :cool:
Т.е. мне тот код нужно вставить после лоад муви, и всё заработает? :) |
послен выполнения того кода у тебя в массиве a будут лежать случайные числа от 0 до 9 неповторяющиеся
то есть что то типа a[0]=4; a[1]=2; a[2]=9; a[3]=0; и т.п. как их заюзать - разбирайся ;-)) что-то типа в первом кадре, там пишешь этот код и i=0; потом loadMovieNum ("../../directory/"+a[i]+".swf", 1000); i++; ;) |
по-моему надо быть проще ;)
самый рациональный вариант тебе сказал делимитер в самом начале... только я не понял причем тут счетчик рандомов :) // предел рандома + массив уже использованных limit=30, hits=[]; // // там, где нужно запускать лоад пишешь три строчки: while (hits[tmp=Math.ceil(Math.random()*limit)]) {} hits[tmp] = true; loadMovieNum("../../directory/"+tmp+".swf", 1000); ...и все собственно :) только учти, что чем больше будет загружаться, тем дольше рандом будет искать неиспользованные ячейки - значит надо сразу задать предел в несколько раз больший чем количество твоих мультиков - просто чтоб не притормаживало... |
2lexass
Эт здорово, что хоть ТЫ меня понял ;))) В условии требовалось не повторять как минимум два предыдущих, но ничего не было про НЕ ПОВТОРЯТЬ ВООБЩЕ. Так что у меня все правильно :)) Код:
Track = new Array(); |
хе-хе-хе.... а я на две минуты раньше :p :p :p
|
Я заметил (мрачно)...
|
...это дуэль ?.. я выбираю оружие :)))
|
:cool: гранатомет :cool:
|
хотя с учетом этого
Цитата:
ага, гранатомет :) подствольный :) а что там над ним... уууу.... :))) |
Эх как закрутило то... :D :) :p
Хорошо... |
А над ним (хыхы) ствол от Глока (семнадцатого) :))))))))))))
|
"угу, угу, если только два соседних, то у меня лишнее", - промычал Егорыч, уходя с линии огня ;))
|
Не дрейфь, Egoritch, горчичный газ тебе везде накроет ;)))))
|
а мне нравиться вот так:
Код:
max=10;limit=3;id=[];tmp=[]ЗЫ Цыклы долоЙ :D ;) :p |
И очень зря, потому что твой вариант сложнее, в нем два массива вместо одного, а первая твоя строка по всем правилам это четыре строки (как ты не пытался это скрыть).
|
ну и что
limit=5 а мне так нравиться вот :p |
Код:
buffer = ""; bufferlen = 2;цикл все равно остался, но для буфера из всего лишь двух имен его можно заменить двумя ифами ;) |
:D
|
Блин, объяснили что ли конкретно что писать то... а то зачем я спрашивал то, что ничего не понимаю.... :cool: :mad: :( :o
|
Цитата:
Был вопрос: Цитата:
дык чЁ те еще надо :( резжевать и врот положить :mad: ЗЫ Все очень просто ;) |
Да всё, всё врубился... :mad:
Всем спасибо. |
Цитата:
|
| Часовой пояс GMT +4, время: 20:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.