![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Здравствуйте!
Пытаюсь разработать алгоритм расстановки случайных чисел в одномерном массиве, ограниченной определёнными условиями. Планировал делать это простым перебором: 1. Присваиваю ячейке случайное число, чтобы проверить, подходит ли оно 2. Проверяю условия (в-основном, это сравнение с другими ячейками) 3. Если условие выполняется - перехожу к следующему условию. Если не выполняется, уменьшаю число на 1 и повторяю проверку всех условий с самого начала 4. Если все условия выполнились, ставлю триггер успеха проверки и перехожу к следующей ячейке. Однако прежде, чем вставлять какие-то условия, я решил на примитивном примере оценить быстродействие такой схемы: var ok:Boolean = false trace('ok='+ok) var n:uint = 100; while (!ok) { trace('n='+n) if (n > 0) { n-- } else { ok=true } } trace('ok='+ok) Казалось бы, элементарные вычисления (проверок 100, но условие всего одно), но каждый раз, когда они происходят, игра зависает на пару секунд. Объясните, пожалуйста, почему так, и какой способ циклической проверки будет более эффективен? Заранее спасибо! Последний раз редактировалось a7s1h1; 17.03.2016 в 17:42. Причина: уточнение заголовка |
![]() |
Часовой пояс GMT +4, время: 09:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|