Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Секреты разработки игр в Macromedia Flash MX - Макар Дж.

Макар Дж. Секреты разработки игр в Macromedia Flash MX — М.: КУДИЦ-ОБРАЗ , 2004. — 608 c.
ISBN 0-201-77021-0
Скачать (прямая ссылка): sekretirazrabotkiigr2004.djvu
Предыдущая << 1 .. 118 119 120 121 122 123 < 124 > 125 126 127 128 129 130 .. 210 >> Следующая

и затем случайно выбирает начальную координату у на основе разм сетки и
длины tempWord. Цикл while выполняется так же, как для горизонм ного
размещения. Для диагональной ветви выражения условия отличия со", ит
только в выборе начальной позиции; как начальная координата х, так и i
чальная координата у выбираются из случайных чисел, на основе размера с
ки и длины слова.
лава 14. Поиск слова
375
Функция scrambleWords() хорошо прокомментирована во всем коде
ActionScript, так что не'беспокойтесь о вашей способности вникнуть в ее
смысл.
createBoard()
Функция createBoard() принимает случайно расставленные слова из функции
crambleWords() и размещает клипы на экране для их визуального
представления. Затем, если пространство сетки пусто (как в большинстве
случаев), i reateBoard() расставляет в этих позициях случайные буквы.
1 function createBoard () {
2 path = this.board;
3 path.depth = 0 ;
4 path.circles = 0;
5 gridSpacing = 17;
6 for (var i = 0; KboardSize; ++i) {
7 for (var j = 0; jcboardSize; + + j) {
8 var clipName = "letter"+i+j;
9 path.attachMovie("letter", clipName,
+ + path.depth) ;
10 path[clipName] ._x = i*gridSpacing;
11 path[с 1ipName] ._y = j*gridSpacing;
12 var tempLetter =
words.letters[i] [j],toUpperCase();
13 if (tempLetter == undefined || tempLetter == "") {
14 var tempLetter = chr((random( 2 6 )+65 )) ;
15 words.letters [ i ][ j] = tempLetter;
16 path[clipName].dummy = true;
17 )
18 path[с 1ipName]. letter.text = tempLetter;
19 }
20 }
21 }
И строке 2 мы создаем ссылку на клип доски с именем path Экземпляр board
Представляет собой клип, к которому мы будем подключать все клипы, содер-
ащие буквы. Он также содержит окружности, когда они нарисованы. Далее мы
ганавливаем в клипе доски значение переменной depth в 0, используя ссылку
<th. Это число будет увеличиваться на 1 для каждого клипа, присоединенно-
и использоваться для назначения каждому из этих клипов уникального значе-
376
Часть 2. Исследование основ
ния глубины. В строке 4 мы устанавливаем значение переменной circles в 0.
К<** гда окружности рисуются в экземпляре доски для выбора слова,
создается новыИ клип, который содержит эту окружность, и эта переменная
увеличивается на I После завершения игры мы можем легко удалить все
окружности, потому чш эта переменная сообщает нам, сколько их создано. В
строке 5 мы создаем переменную с именем gridSpacing. Она представляет
расстояние, которое нам пужп<г иметь между точками привязки каждой буквы.
Точка привязки находи гея в верхнем левом углу клипа буквы и служит
точкой присоединения каждой бума вы. Клип имеет имя идентификатора
связывания letter.
Далее мы выполняем вложенный цикл для создания сетки. В строке 8 ми
создаем имя для каждого клипа, который мы присоединяем. Мы будем исполь
зовать то же соглашение об именах, что мы установили в гл. 7, "Плиточные
миры", но с небольшим изменением: мы будем использовать "letter" вместо
"сс11 как основу имени и мы начинаем считать от 0 вместо 1. (Это общее
правило, ю
гда индексация массивов начинается с 0.) Например, Ietter3__5 находится в
к<
лонке 4 и строке 6. Далее мы добавляем новый экземпляр клипа буквы в сеп
и позиционируем его. В строке 12 мы устанавливаем локальную переменп) с
именем tempLetter из элемента, находящегося в соответствующей точке ди
мерного массива с именем letters. Если это место было занято буквой из
случ.и ным образом размещенных слов, то она будет содержать букву. В
противно случае это место не содержит ничего.
В строке 13 мы проверяем, существует ли буква в колонке i и строке j. Ес;
нет, мы создаем ее случайным образом. Каждый символ - даже табуляции и и
ревода строки - может быть представлен числовым значением. Это число наг
вается ASCII-кодом. Числа ASCII от 65 до 90 соответствуют буквам А-Z (А
(> В=66, и т. д.). Числа ASCII от 97 до 122 представляют собой буквы a-z.
Fla содержит функцию с именем chr(), которая возвращает букву на основе
ка ASCII. Таким образом, chr(65) возвращает А. Используя это выражеш
chr((random(26)+65)), мы можем получить случайные буквы от А до Z (стро
14). Именно так мы заполняем свободные места в сетке. В строке 15 мы бер"
эту новую букву и сохраняем ее в двумерном массиве букв letters. Затем мы
а храняем переменную с именем dummy в новом клипе буквы со значением t Мы
используем эту переменную позднее, когда определяем, принадлежит
выбранный текст слову.
f
Глава 14. Поиск слова
377
Types of Fruit
: Look for theve word"
*PPt?
CANTALOUPE ; ORANGE RASPBERRY BLACKBERRY
• Tangerine
GRAPE
BANANA.
LEMON
CHERRY
STRAWBERRY
MANGO
MELON
TOMATO
KBXUYNGBTL J SI I UBI Z A 1 NARKOWJ W В L OWQM INOEATRYCBHGEQGWA
OANYEPEEUHBVMRRKL ONQFRQPI BCRTOVAEY OAGEVRGL BWRZNQPUN BVEBGYEEE WA В В
E E U M RZSOJ NXBNPXRBMGWU CLOJWBALKI EZTCOGO PZEHMLYRFCRDDSHCY
GNTSETTYOBAECMEZY QAYFLCYUBRGLGXQDR AHVEOTAMOTTQBNTLR CVCANTELOPEESPANE
CGNUESYENNTXNCWTH ZJTCBMRASPBERRYSC VI MANGOULPYRI
Q WO Q
Предыдущая << 1 .. 118 119 120 121 122 123 < 124 > 125 126 127 128 129 130 .. 210 >> Следующая