В этой статье описывается исходный код меча Mini-игры JS, который является очень превосходным исходным кодом игры. Поделитесь этим для вашей ссылки. Детали следующие:
1. Введение в игру:
Это игра в сочетании флопа с десятью уровнями.
1. Игра случайным образом рисует 9 карт из 42 карт для игры, каждая группа составляет 2 одинаковых карт, в общей сложности 18 карт.
2. Поворот к двум идентичным подряд - это победа. Когда все 9 групп будут повернуты, вы пройдете. Если вы не обращаетесь к двум последовательным картинкам, вам нужно снова их повернуть.
3. Игра имеет 10 уровней, и она будет успешной в вызове в течение указанного времени.
4. Если уровень не проходит в течение указанного времени, игра будет продолжаться с текущего уровня.
5. Карточные картинки и музыка в игре принадлежат Daewoo.
6. Требуется браузер, который поддерживает HTML5, Chrome и Firefox, являются лучшими.
Игровые картинки:
Нажмите здесь, чтобы загрузить полный пример кода.
2. JavaScript Part:
/** Fairy Flip Flip Game* Дата: 2013-02-24* Автор: fdipzone* ver 1.0*/window.onload = function () {var gameimg = ['image/start.png', 'image/success.png', 'image/fail.png', 'image/clear.png', 'image/cardbg.jpg', 'image/swek'); for (var i = 1; i <= card.get_total (); i ++) {gameimg.push ('image/card' + i + '.jpg'); } var callback = function () {card.init (); } IMG_PRELOAD (GameImg, Callback);}/** Card Class*/var card = (function (total, cardnum) {var Gametime = [0,65,60,55,50,45,40,35,30,25,20]; // Время воспроизведения на уровне var var var var var var var var var = 1; // rocad var round var round var round vard var var rescard var var round var var var roud varda var rescard var round varda var rescard var rescard var varda = 1; LevelData = []; игра start = function () {reset (); Turnall (); я <= всего; i ++) {carddata.push (i); } // Нарисуйте карты для (var i = 0; i <n; i ++) {var curcard = carddata.splice (math.random ()*carddata.length, 1) .pop (); leveldata.push ({'cardno': curcard, 'turn': 0}, {'cardno': curcard, 'turn': 0}); } // генерировать игровые карты случайного порядка leveldata = shuffle (leveldata); } // генерировать карту show = function () {var cardhtml = ''; for (var i = 0; i <leveldata.length; i ++) {cardhtml+= '<div>'; cardhtml + = '<div id = "card' + i + '">'; cardhtml + = '<div> <img src = "Images/card' + leveldata [i] ['cardno'] + '.jpg"> </div>'; cardhtml += '<div> <img src = "Images/cardbg.jpg"> </div>'; cardhtml += '</div>'; cardhtml += '</div>'; } sethtml ('gameplane', cardhtml); } // Flip All Turnall = function () {for (var i = 0; i <leveldata.length; i ++) {turn_animate (i); }} // flip animation turn_animate = function (key) {var obj = $ _tag ('div', 'card' + key); var cardfont, cardback; if (getClass (obj [0]). indexof ('out')! =-1) {cardfont = obj [0]; cardback = obj [1]; } else {cardfont = obj [1]; cardback = obj [0]; } setClass (cardback, 'List Flip Out'); var et = setTimeout (function () {setClass (cardFont, 'List Flip In');}, 225); } // Установить нажмите event set_event = function () {var o = $ _tag ('div', 'gameplane'); for (var i = 0, count = o.length; i <count; i ++) {if (getClass (o [i]) == 'card viewport-flip') {o [i] .onclick = function () {turn (this.id); }}}} // Time Start Process = function () {is_lock = 0; var curtime = gamet -time [level]; sethtml ('livetime', curtime); var et = setInterval (function () {if (matchnum == cardnum) {clearInterval (et); return;} curtime-; sethtml ('livetime', curtime); if (curtime == 0) {clearInterval (et); is_over = 1; сообщение ('fail', start);}}, 1000); } // Animation Message Message Message = function (type, callback) {is_lock = 1; var message = $ ('message'); var обрабатывается = 0; var opacity = 0; var soundtime = {'start': 1500, 'успех': 4000, 'Fail': 6000, 'clear': 4000}; disp ('message', 'show'); setClass (сообщение, 'Message_' + type); SetoPacity (сообщение, непрозрачность); SETPOSION (сообщение, «слева», 0); SetPosition (сообщение, «Top», 390); if (type == 'start') {bgsound (type, true); } else {bgsound (type); } var et = setInterval (function () {var message_left = getPosition (message, 'left'); обработка = обработка + 25; if (обработка> = 500 && обработана <= 750) {непрозрачность = непрозрачность + 10; setPosition (сообщение, «Обработка», сообщение_LEFT + 30); setOpacity (сообщение); Обработка <= Soundtime [Type] +250) }}}, 25); } // flop turn = function (id) {if (is_lock == 1) {return; } var key = parseint (id.replace ('card', '')); if (leveldata [key] ['turn'] == 0) {// не открыт, если (First ==-1) {// first turn_animate (key); First = key; leveldata [key] ['turn'] = 1; } else {// second turn_animate (key); leveldata [key] ['turn'] = 1; check_turn (key); }}} // Проверьте, является ли Flop успешным Check_turn = function (key) {is_lock = 1; if (leveldata [First] ['cardno'] == leveldata [key] ['cardno']) {// Успешное matchnum ++; if (matchnum == cardnum) {var et = settimeout (function () {message ('success', levelup);}, 225); } First = -1; is_lock = 0; } else {// Парки не удалось, переверните открытую карту var et = settimeout (function () {Turn_Animate (First); LevelData [First] ['turn'] = 0; turn_animate (key); levelData [key] ['turn'] = 0; первое = -1; if (is_over == 0) {is_lock = 0;}}, 300); }} // Переход levelup = function () {if (level <gametime.length-1) {level ++; sethtml ('level', level); начинать(); } else {clear (); }} // пройти все clear = function () {level = 1; Disp ('levelPlane', 'Hide'); Disp ('Process', 'Hide'); sethtml ('Gameplane', ''); сообщение ('clear', init); } // Воспроизведение музыки bgsound = function (file, loop) {var id = 'audioplayer'; if (typeof (file)! = 'undefined') {if (typeof (loop) == 'undefined') {loop = false; } var audioFile = []; audiofile ['mp3'] = 'music/' + file + '.mp3'; audiofile ['ogg'] = 'music/' + file + '.ogg'; Audioplayer (id, Audiofile, Loop); } else {audioplayer (id); }} // gamiplay tips = function (type) {disp ('tips', type); } // Получить общее количество карт get_total = function () {return total; } // сбросить параметр сбросить = function () {disp ('levelPlane', 'show'); sethtml ('level', level); disp ('process', 'show'); sethtml ('livetime', ''); sethtml ('Gameplane', ''); is_lock = 1; is_over = 0; первый = -1; matchnum = 0; } вернуть это;}) (42,9);Я полагаю, что описание в этой статье будет иметь определенную справочную ценность для каждого изучения дизайна игры JavaScript.