Панель Авторизации/ регистрации
your Profile Complete Bar
Вы не авторизованы.
Вы не авторизованы.
| Игра совпадений |
|
1 Этап. "Подготовка" Давайте создадим мувик в котором они будут храниться, щелкаем по клавише ctrl + F8 выбираем Movie Clip называем данный мувик например card. Далее находим созданный клип в библиотеке щелкаем правой кнопкой мыши по нему и выбираем Linkage и прописываем название переменной Card. Далее распологаем нужные нам клипы в следующем порядке
Обратите внимание что третий последний слой Button содержит кнопку. У этой кнопки внутри клипа "Cards" только одна строчка кода, которая передает основной временной шкале информацию о том, что по клипу щелкнули. on (press) {// сообщение главной временной шкале о том что произошел щелчек _root.clickCard(this); }
Далее заканчиваем редактирование клпа card, закрываем его так чтобы данного клипа не было на главной сцене.
Далее возвращаемся на основную временную шкалу и создаем четыре слоя
1 слой назовем Счет очков - на нем будет находиться основной код игры и будут выводиться подсчет очков. Щелкаем по третьему кадру открываем Actions и вставляем следующий код: initGame();stop(); score1=18; showScore.text = "Осталось открыть пар:"+score1; clik=0; kardclik.text = "кол-во не угаданных пар:"+clik; max=0; maxpar.text = "max подряд:"+max; parr=0; parclik.text = "Открытые подряд пары:"+parr; ochki=0; ochki2=0; ochki3=0; ochki22=0; schet.text = "Ваши очки:"+ochki; function initGame() { // создаем отсортированный список карт cardsListOrdered = []; for(i=1;i<=18;i++) { cardsListOrdered.push(i,i); } // список перемешенных карт cardsListSorted = []; while (cardsListOrdered.length > 0) { r = int(Math.random()*cardsListOrdered.length); cardsListSorted.push(cardsListOrdered[r]); cardsListOrdered.splice(r,1); } // создаем клипы карт и определяем их положения и картинки x = 0; y = 0; for(i=0;i<36;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; // переходим к следующей карте x++; if (x > 5) { x = 0; y++; } } firstclip = 0; } 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; score1--; ochki1++; showScore.text = "осталось открыть пар:"+score1; parr++; parclik.text = "Открытые подряд пары:"+parr; if (parr>max){ max=parr; maxpar.text = "max подряд:"+max; } else { maxpar.text = "max подряд:"+max;} if (max>1){ ochki2=2*max;} } else { clik++; kardclik.text = "кол-во не угаданных пар:"+clik; if (clik>36){ochki3=clik;} parr=0; parclik.text = "Открытые подряд пары:"+parr; } }ochki=ochki1+ochki2-ochki3/18; schet.text = "Ваши очки:"+ochki; if (score1 == 0){ gotoAndStop(4);} score=ochki; }
2. В 3 слой "Кнопка и фон " вставляем фон который будет показываться после открытия всех карт 3. Далее в первом слое "счет очков" создаем 5 динамических текстовых поля, которым присваиваем
следующие переменные: 1 текстовое поле будет вести подсчет сколько осталось еще открыть пар, присвоем ему переменную showScore. 2 текстовое поле будет считать сколько не верных пар открыто и будет иметь переменную kardclik 3. поле будет считать количество подряд открытых пар parclik 4. поле будет выводить сколько максимально пар было открыто подряд maxpar 5. поле будет выводить окончательные очки и будет иметь переменную schet очки будут подсчитываться ochki=ochki1+ochki2-ochki3/18 где ochki1 - количество открытых пар ochki2 - повторно открытых пар ochki3 - количество не угаданных пар, будет отниматься начиная с 36 несовпадения
|