Показать сообщение отдельно
Старый 19.07.2011, 13:57
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Имеется ввиду "повтор" – друг за другом, как в Вашем трейсе. (какой-то глюк с обновлением, я не видел Вашего предыдущего сообщения).
Сравнивайте полученное число с номером текущей, и, если равны, сдвигайте его вверх или вниз.
Либо надо делать плавающий массив – с индексами основного массива_картинок в качестве элементов. При каждом выборе рандомного числа по этому числу берем индекс из временного_массива для получения картинки, И удаляем этот индекс из временного_массива, чтобы эта картинка больше не попалась. Соответственно рэндом умножаем не на общее число картинок, а на длину плавающего временного_массива. Когда он закончится, создаем его снова. Все-равно придется следить за совпадением последней показанной и первой в новом цикле, но почти не будет ситуаций типа 5-8-5-8, когда картинки в какой-то момент начинают чередоваться – тоже неприятно.
Такая техника дает гарантию, что будет показан весь сет картинок, прежде чем любая из них будет показана снова, и при этом их последовательность таки будет рандомной. Но для 10 картинок это все не очень эффективно, потому как на "стыках" двух циклов контроль отсутствует, и все-равно если последними в цикле были 5 и 8, в начале нового вполне могут оказаться те же 5 и 8. Но когда картинок достаточно много, эта ситуация будет возникать крайне редко на общем фоне.

Добавлено через 6 минут
И да, krog2008, для оформления своего кода надо использовать теги [code][/code]
__________________
Reality.getBounds(this);