initGame();
stop();
function initGame() {
// Создаем отсортированный список карт.
cardsListOrdered = [];
cardsListOrdered.push(i,i);
}
// Список перемешанных карт.
cardsListSorted = [];
while (cardsListOrdered.length > 0) {
r = int(Math.random()*cardsListOrdered.length);
cardsListSorted.push(cardsListOrdered[r]};
cardsListOrdered.splice(r,1);}
// Создаем клипы карт и определяем их положение и картинки,
х = 0; У = 'О; for(i=0;i
attachMovie("card", "card" + i, i) ;
_root["card"+i].picture = cardsListSorted[i];
_root["card"+i]._x = x*60+200;
_root["card"+i]._y = y*60+50;
// Переходим к следующей карт
х++;
if (х > 5) {
х = 0;
У++;
}}
// Располагаем эти две карты рубашками вверх,
firstclip.gotoAndStop(1);
secondclip.gotoAndStop(1);
firstclip = 0; secondclip = 0;
firstdip = 0;
}
Обратите внимание, что с помощью команды push в массив можно добавить сразу более одного элемента, Например, выражение myArray.push(7,12) добавит в массив myArray числа 7 и 12.
Функция initGame заканчивается тем, что обнуляется переменная firstclip. В этой переменной содержится ссылка на карту, по которой щелкнули первой. Когда щелкают по клипу, кнопка внутри этого клипа отреагирует и на основную временную шкалу с помощью функции clickCard будет добавлена ссылка к клипу.
function clickCard (clip){
// Проверяем, отображены ли две карты,
if (secondclip != 0) {
// Располагаем эти две карты рубашками вверх,
firstclip.gotoAndStop(1);
secondclip.gotoAndStop(1);
firstclip = 0;
secondclip = 0;
}
// Проверяем, щелкнул ли пользователь дважды
//по одной и той же карте,
if (firstclip == clip) {
// Переворачиваем карту,
firstclip.gotoAndStop(1);
firstclip = 0;
// Выясняем, есть ли хоть одна перевернутая карта.
} else if (firstclip == 0); {
// Переворачиваем первую карту,
clip.gotoAndStop(clip.picture+1);
firstclip = clip;
// Одна карта должна быть перевернута
} else {
// Переворачиваем вторую карту.
clip.gotoAndStop(clip.picture+1);
secondclip = clip;
// Проверяем, совпадают ли карты.
if (firstclip.picture == secondclip.picture) {
// Удаляем обе карты.
firstclip.removeMovieClip();
secondclip.removeMovieClip();
firstClip = 0;
secondclip = 0;
}
}}
on (press) {
// Передаем основной временной шкале информацию о щелчке мышью
_root.clickCard(this);
}