![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Имеется ввиду "повтор" – друг за другом, как в Вашем трейсе. (какой-то глюк с обновлением, я не видел Вашего предыдущего сообщения).
Сравнивайте полученное число с номером текущей, и, если равны, сдвигайте его вверх или вниз. Либо надо делать плавающий массив – с индексами основного массива_картинок в качестве элементов. При каждом выборе рандомного числа по этому числу берем индекс из временного_массива для получения картинки, И удаляем этот индекс из временного_массива, чтобы эта картинка больше не попалась. Соответственно рэндом умножаем не на общее число картинок, а на длину плавающего временного_массива. Когда он закончится, создаем его снова. Все-равно придется следить за совпадением последней показанной и первой в новом цикле, но почти не будет ситуаций типа 5-8-5-8, когда картинки в какой-то момент начинают чередоваться – тоже неприятно. Такая техника дает гарантию, что будет показан весь сет картинок, прежде чем любая из них будет показана снова, и при этом их последовательность таки будет рандомной. Но для 10 картинок это все не очень эффективно, потому как на "стыках" двух циклов контроль отсутствует, и все-равно если последними в цикле были 5 и 8, в начале нового вполне могут оказаться те же 5 и 8. Но когда картинок достаточно много, эта ситуация будет возникать крайне редко на общем фоне. Добавлено через 6 минут И да, krog2008, для оформления своего кода надо использовать теги [code][/code]
__________________
Reality.getBounds(this); |
![]() |
Часовой пояс GMT +4, время: 10:23. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| random , timer , Рандом , Таймер |
|
|