Головоломки Flash

         

Создание кода



Создание кода

Практически весь код находится в главной временной шкале. Он начинается с функции "startGame". После того как создана новая, перетасованная, колода, создается семь рядов карт (10). Первый ряд содержит» одну карту, второй - две и т.д.
Каждая карта помешается на свое место в соответствии с рядом и местом в ряду (11). К тому же масштаб каждой карты уменьшен на 50%, поскольку колода, использованная в игре "Двадцать одно", в два раза больше по размеру той, что необходима для этой игры (12).
Значение карты берется из массива deck (13). Оно соответствует метке кадра внутри клипа "deck". Это значение сохраняется в свойстве value клипа, после чего клип отправляется в соответствующий кадр. В свойствах клипа row и col хранится позиция клипа в пирамиде (14).
Затем вы создаете клипы для стопок карт мастью вниз и мастью вверх (15). Клип для карт мастью вниз отправляется в кадр "back", показывающий изображение рубашки карты. Другая стопка остается в первом кадре, который пуст.
Переменная firstcard установлена как undefined (16). Эта переменная содержит значение первой карты в паре, выбираемой самим игроком. Массив stack используется для слежения за судьбой карт из стопки мастью вверх. В случае, когда карта из этой стопки используется, должно быть отыскано значение предыдущей выбранной карты.
В заключение должен быть создан экземпляр клипа рамки (17). В начальный момент он помешается за пределами видимости.

startGame();

stop();

function startGame() {

// Тасуем колоду.

createDeck();

(10)// Выстраиваем карты в пирамиду,

level = 0;

for(row=0;row

for(i=0;i

// Создаем новый клип.

mc = _root.attachMovie("Deck","card"+level,level);

(11)// Задаем его расположение.

mc._x = i*60-row*30 + 275;

mc. _у = row*30 + 50;

(12)// Задаем масштаб.

mc._xscale = 50;

mc.__yscale = 50;

(13)// Устанавливаем знчение карты,

mc. value = deck.pop();

mc.gotoAndStop(mc.value);

(14)// Запоминаем позицию карты,

mc.row = row;



Содержание раздела