Создание кода
Создание кода
Практически весь код находится в главной временной шкале. Он начинается с функции "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;