Este artigo descreve o código-fonte da espada do mini-jogo do JS, que é um excelente código-fonte do jogo. Compartilhe para sua referência. Os detalhes são os seguintes:
1. Introdução ao jogo:
Este é um jogo de emparelhamento do Flop com um total de dez níveis.
1. O jogo atrai aleatoriamente 9 cartas de 42 cartas para jogar, cada grupo tem duas mesmas cartas, com um total de 18 cartas.
2. Voltar a dois idênticos seguidos é uma vitória. Quando todos os 9 grupos estiverem virados, você passará. Se você não recorre a duas fotos consecutivas, precisará transformá -las novamente.
3. O jogo tem 10 níveis e terá sucesso no desafio dentro do tempo especificado.
4. Se um nível não passar dentro do tempo especificado, o jogo continuará no nível atual.
5. As fotos de cartas e a música no jogo são de propriedade da Daewoo.
6. Requer um navegador que suporta HTML5, Chrome e Firefox são os melhores.
Fotos de jogo:
Clique aqui para baixar o código de exemplo completo.
2. Javascript Part:
/** jogo de flip de espada de fada* Data: 2013-02-24* Autor: fdipZone* ver 1.0*/window.onload = function () {var gameImg = ['imagens/start.png', 'imagens/success.png', 'imagens/falha.png', 'imagens/clear.png', 'imagens/cardb.j; for (var i = 1; i <= card.get_total (); i ++) {gameImg.push ('imagens/cartão' + i + '.jpg'); } var den -retorno = function () {Card.init (); } img_preload (gameImg, retorno de chamada);}/** Classe de cartão*/var Card = (function (total, cardnum) {var gametime = [0,65,60,55,50,45,40,35,30,25,20; NívelDATA = []; / Iniciar o jogo = função () {RESET (); Turnall (); i <= total; i ++) {CardData.push (i); } // Desenhe cartões para (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}); } // gerar cartões de jogo de ordem aleatória nívelData = shuffle (nível de nível); } // Gerate Card show = function () {var Cardhtml = ''; for (var i = 0; i <nívelData.Length; i ++) {CardHtml+= '<div>'; cardhtml + = '<div id = "card' + i + '">'; cardhtml + = '<div> <img src = "imagens/cartão' + nívelData [i] ['cardno'] + '.jpg"> </div>'; cardhtml += '<div> <img src = "imagens/cardbg.jpg"> </div>'; cardhtml += '</div>'; cardhtml += '</div>'; } sethtml ('jogo de jogo', cardhtml); } // flip all turnall = function () {for (var i = 0; i <nívelData.Length; i ++) {turn_animate (i); }} // flip animation turn_animate = function (key) {var obj = $ _tag ('div', 'cartão' + key); var CardFont, Cardback; if (getClass (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); } // defina clique em event Set_event = function () {var o = $ _tag ('div', 'jogo de jogo'); para (var i = 0, count = O.Length; i <contagem; i ++) {if (getClass (o [i]) == 'cartão viewport-flip') {o [i] .OnClick = function () {Turn (this.id); }}}} // Time Start Process = function () {is_lock = 0; var tempo curto = tempo gametime [nível]; Sethtml ('LiveTime', Curtime); var et = setInterval (function () {if (matchNum == Cardnum) {ClearInterval (et); return;} curta-; sethtml ('LiveTime', curtime); se (curtime == 0) {ClearInterval (et); is_over = 1; mensagem ('falha', start);}}},},, 1000; } // mensagem de animação da mensagem do jogo Mensagem = function (tipo, retorno de chamada) {is_lock = 1; var mensagem = $ ('mensagem'); var processado = 0; var opacity = 0; var somTime = {'start': 1500, 'sucesso': 4000, 'falha': 6000, 'clear': 4000}; disp ('mensagem', 'show'); setClass (mensagem, 'message_' + tipo); SetOpacity (mensagem, opacidade); setPosition (mensagem, 'esquerda', 0); setPosition (mensagem, 'top', 390); if (type == 'start') {bgsound (tipo, true); } else {bgsound (tipo); } var et = setInterval (function () {var message_left = getPosition (mensagem, 'esquerda'); processado = processado + 25; if (processado> = 500 && Processado <= 750) {opacity = opacity + 10; setPosition (message, esquerda ', message_left + 30); setipacity (, (, opacidade); Processado }}, 25); } // flop turn = function (id) {if (is_lock == 1) {return; } var key = parseint (id.replace ('cartão', '')); if (nívelData [key] ['Turn'] == 0) {// não aberto se (primeiro ==-1) {// primeiro turn_animate (key); primeiro = chave; nível de nível [key] ['Turn'] = 1; } else {// segundo turn_animate (chave); nível de nível [key] ['Turn'] = 1; check_turn (chave); }}} // Verifique se o flop é bem -sucedido check_turn = function (key) {is_lock = 1; if (niveldData [primeiro] ['Cardno'] == LevelData [key] ['Cardno']) {// Matchnum de sucesso ++; if (matchNum == Cardnum) {var et = setTimeout (function () {message ('succcess', niveup);}, 225); } primeiro = -1; is_lock = 0; } else {// O emparelhamento falhou, gire o cartão aberto var et = setTimeout (function () {turn_animate (primeiro); nível Data [primeiro] ['Turn'] = 0; turn_animate (key); nível de nível [key] ['Turn'] = 0; primeiro = -1; if (is_over == 0) {is_l; }} // passa nível de nível = function () {if (nível <gametime.length-1) {nível ++; sethtml ('nível', nível); começar(); } else {clear (); }} // passa tudo claro = function () {nível = 1; disp ('nível de plano', 'oculto'); disp ('processo', 'oculto'); sethtml ('jogo de jogo', ''); mensagem ('clear', init); } // reprodução de música bgsound = function (arquivo, loop) {var id = 'audioplayer'; if (typeof (file)! = 'indefinido') {if (typeof (loop) == 'indefinido') {loop = false; } var Audiofile = []; audiofile ['mp3'] = 'music/' file + '.mp3'; Audiofile ['Ogg'] = 'Music/' File + '.Ogg'; AudioPlayer (ID, Audiofile, Loop); } else {Audioplayer (id); }} // Tips de jogo = function (type) {Disp ('Tips', tipo); } // Obtenha o número total de cartões get_total = function () {return total; } // Redefinir parâmetro reset = function () {disp ('LevelPlane', 'show'); sethtml ('nível', nível); disp ('processo', 'show'); Sethtml ('LiveTime', ''); sethtml ('jogo de jogo', ''); is_lock = 1; is_over = 0; primeiro = -1; matchNum = 0; } retornar isso;}) (42,9);Acredito que a descrição deste artigo terá um certo valor de referência para o aprendizado de todos o design do jogo JavaScript.