![]() |
|
||||||||||
|
|||||
|
Подскажите, пожалуйста, как правильно организовать рендом без повторений.
скажем 1,2,3,4,5 Чтоб все цифры были, а порядок рендомно менялся. Но не было повторений типа 1,1,2,3,5
__________________
http://zenpro.blogspot.com/ |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Если допустимо 1,2,1, то просто запоминайте предыдущее число и проверяйте новое на совпадение с предыдущим.
|
|
|||||
|
спасибо
__________________
http://zenpro.blogspot.com/ |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 5
|
Подскажите пожалуйста как следующее:
имеется 10 клипов в начальный момент времени загружается совершенно случайный клип (допустим 3), далее идет random с таким расчетом что случайно и только один раз за первым клипом начнут проигрываться остальные клипы (2,6,1,7,8,4,9,10,5), при этом ниразу не повторившись. Затем когда последовательность клипов кончится (нечего проигрывать). Все счетчики сбрасываются и проигрывание начинается заного с клипа, номер которого не повторяет номер последних 4-х проигранных клипов. Надеюсь понятно объяснил =) |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Создайте массив со своими клипами. Перетасуйте его (поиск по shuffle array site:flasher.ru). Запомните предварительно ссылку на случайный клип не входящий в последнюю четверку. Далее, shift'ом выбирайте свои клипы из массива. После того, как закончатся, формируете новый массив из того элемента, который запомнили + остальные заново перетасованные. И поехали по новой с "Запомните предварительно ссылку..."
|
|
|||||
|
[+4 06.05.14]
|
var arr = [c1,c2,c3,c4.....]; // набор клипов пихаем в массив c1.play(); // ну допустим первый клип сразу включаем function moveAndDelete() { // сдесь такая задача, думаю справитесь - каждый раз из массива arr запускается клип рандомно. Этот же клип удаляется из массива, а затем создается новый массив. } var t = setInterval(moveAndDelete,someTimeRepeat); |
|
|||||
|
Я заполнял масив числами от 1 до н.
Делал рандом от 0 до длинны массива. Брал элемент массива с полученым чеслом, удалял его с массива. снова рандомил от о по новой длине. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|