English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



С объяснениями, которые даны здесь в псевдокоде и самой функции, вы должны быть способны понять, что происходит в scrambleWords(). Сначала мы устанавливаем переменную maxTime (максимальноеВремя) в 5000. Это число служит как ограничение для значения времени, которое мы выделяем функции на ее работу. В этой функции мы размещаем слова случайным образом. Но если вы даже попытаетесь сделать ваше собственное перемешивание слов в кроссворде на бумаге, вы узнаете, что эта процедура не устойчива к ошибкам; иногда скрипт размещает слова в такие положения, что становится невозможным разместить больше ни одного слова! В случае кода, написанного для этой конкретной игры, циклы scrambleWords() продолжались бы бесконечно для поиска доступных щелей, которых не существует. Для предотвращения этого мы создаем эту переменную maxTime. В процессе работы цикла while (цикл вида пока) мы проверяем, как долго работает функция. Если она выполняется дольше, чем время maxTime, то мы прерываем цикл и функцию. Если мы решаем, что выполнение функции scrambleWords() не привело к результату, мы вызываем функцию restart(). Далее, мы устанавливаем scrambledOK (перемешиваниеСделано) в true. Эта переменная устанавливается в false, если истекло время maxTime. Затем мы создаем двухмерный массив с именем letters в объекте words. Каждый элемент в этом массиве соответствует букве в сетке. Буквы вставляются в массив по мере размещения слов. По завершении работы функции scrambleWords() в массиве находятся лишь буквы из слов. Есть еще много незаполненных элементов. Это до тех пор, пока на вызвана функция createBoard(), которой мы заполняем оставшиеся пустые места. В строке 4 мы создаем массив с названием listings. Этот массив будет содержать один элемент для каждого слова, которое помещено в сетку. Элемент представляет собой объект, который хранит информацию о слове. Далее, мы устанавливаем переменную с названием now для сохранения текущего времени. Мы можем использовать это позднее для определения как долго выполнялась функция
КАТАЛОГ inlight чехия Люстры и бра Massive.
Hosted by uCoz