startGame;
stop;
function startGame {
// Тасуем колоду.
createDeck;
(10) → // Выстраиваем карты в пирамиду.
level = 0;
for(row=0;row<7;row++) {
for(i=0;i<=row;i++) {
// Создаем новый клип.
mc = _root.attachMovie("Deck","card"+level,level);
(11) → // Задаем его расположение.
mc._x = i*60-row*30 + 275;
mc._y = row*30 + 50;
(12) → // Задаем масштаб.
mc._xscale = 50;
mc._yscale = 50;
(13) → // Устанавливаем знчение карты.
mc.value = deck.pop;
mc.gotoAndStop(mc.value);
(14) → // Запоминаем позицию карты.
mc.row = row;
mc.col = i;
level++;
}
}
(15) → // Размещаем клипы открытой и закрытой колод.
for(i=0;i<2;i++) {
mc = _root.attachMovie("Deck","stack"+i,level);
mc._x = i*60 + 100;
mc._y = 340;
mc._xscale = 50;
mc._yscale = 50;
level++;
}
// Показываем "рубашку" для закрытой колоды.
_root["stack0"].gotoAndStop("back");
(16) → // Задаем значение первой выбранной карты и массив для открытой колоды.
firstCard = undefined;
stack = new Array;
(17) → // Создаем и размещаем рамку.
outline = _root.attachMovie("outline","outline",1000);
outline._xscale = 50;
outline._yscale = 50;
outline._x = -1000;
}Функция createDeck такая же, как в игре «Двадцать одно». Однако теперь вы сортируете только одну колоду. Результат представляется в виде глобальной переменной deck.
// Создаем перетасованную колоду.
function createDeck {
// Создаем упорядоченную колоду.
suits = ["c","d","s","h"];
temp = new Array;
for(suit=0;suit<4;suit++) {
for(num=1;num<14;num++) {
temp.push(suits[suit]+num);
}
}
// Выбираем случайные карты, пока не создадим перетасованную колоду.
deck = new Array;
while (temp.length > 0) {
r = int(Math.random*temp.length);
deck.push(temp[r]);
temp.splice(r,1);
}
}