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

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



Далее, мы проходим в цикле каждую букву в tempWord (временноеСлово) и сравниваем букву с тем пространством в сетке, где эта буква может быть размещена. Если это пространство ничего не содержит или если оно уже содержит такую же букву, то мы продолжаем и проверяем следующую букву. Однако, если мы нашли в этом месте сетки букву, которая отличается от той, что мы проверяем в данный момент, то мы прекращаем этот цикл и начинаем с новых случайных начальных координат. Скрипт выполняет этот цикл до тех пор, пока не найдет приемлемую позицию в сетке. Если цикл продолжается слишком долго (как рассматривалось ранее), то прерывается вся функция и вызывается функция restart(). Ветви условия, которые обрабатывают вертикальные и горизонтальные размещения, очень похожи. Вертикальное размещение случайно выбирает колонку и затем случайно выбирает начальную координату y на основе размера сетки и длины tempWord. Цикл while выполняется так же, как для горизонтального размещения. Для диагональной ветви выражения условия отличие состоит только в выборе начальной позиции; как начальная координата x, так и начальная координата y выбираются из случайных чисел, на основе размера сетки и длины слова. Функция scrambleWords() хорошо прокомментирована во всем коде ActionScript, так что не беспокойтесь о вашей способности вникнуть в ее смысл. createBoard() Функция createBoard() принимает случайно расставленные слова из функции scrambleWords() и размещает клипы на экране для их визуального представления. Затем, если пространство сетки пусто (как в большинстве случаев), createBoard() расставляет в этих позициях случайные буквы. 1 function createBoard(){ 2 path =this.board; 3 path.depth =0; 4 path.circles =0; 5 gridSpacing =17; 6 for (var i =0;i<boardSize;++i){ 7 for (var j =0;j<boardSize;++j){ 8 var clipName ="letter"+i+"_"+j; 9 path.attachMovie("letter",clipName, .++path.depth); 10 path [clipName ]
Hosted by uCoz