Dieser Artikel beschreibt den Quellcode des Schwertflips von JS Mini-Spiel, der ein sehr ausgezeichneter Quellcode des Spiels ist. Teilen Sie es für Ihre Referenz. Die Details sind wie folgt:
1. Spieleinführung:
Dies ist ein Flop -Pairing -Spiel mit insgesamt zehn Levels.
1. Das Spiel zeichnet zufällig 9 Karten von 42 Karten zum Spielen. Jede Gruppe besteht aus 2 gleicher Karten mit insgesamt 18 Karten.
2. Es ist ein Sieg, sich auf zwei identische in einer Reihe zu verwandeln. Wenn alle 9 Gruppen gedreht sind, werden Sie bestehen. Wenn Sie sich nicht auf zwei aufeinanderfolgende Bilder wenden, müssen Sie sie erneut umdrehen.
3. Das Spiel hat 10 Levels und es wird in der Herausforderung innerhalb der angegebenen Zeit erfolgreich sein.
V.
5. Die Kartenbilder und Musik im Spiel gehören Daewoo.
6. Benötigt einen Browser, der unterstützt, dass HTML5, Chrome und Firefox die besten sind.
Spielbilder:
Klicken Sie hier, um den vollständigen Beispielcode herunterzuladen.
2. JavaScript -Teil:
/** Fairy Sword Flip Game* Datum: 2013-02-24* Autor: fdipzone* ver 1.0*/window.onload = function () {var GAMEIMG = ['Images/start.png', 'Images/Success.png', 'Images/Fail.png', 'Images.png', 'Images/cardbg.png'; für (var i = 1; i <= card.get_total (); i ++) {GAMEIMG.PUSH ('Images/card' + i + '.jpg'); } var callback = function () {card.init (); } img_preload (GAMEIMG, Rückruf);}/** Kartenklasse*/var card = (function (total, cardnum) {var gametime = [0,65,60,55,50,45,40,35,30,25,20]; // Spielzeit pro Level Var Turntime = 8; // CARD -CARD -CARD -CARD -CARD -ZEITEN = 1; Leveldata = [] / Starten Sie das Spiel = function () {reset (); Turnall (); i <= total; i ++) {cardData.push (i); } // Karten zeichnen für (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}); } // zufällige Auftragsspielkarten LevelData = Shuffle (LevelData); } // Card show = function () {var cardhtml = ''; für (var i = 0; i <LevelData.length; i ++) {cardhtml+= '<div>'; cardhtml + = '<div id = "card' + i + '">'; cardhtml + = '<div> <img src = "bilder/card' + LevelData [i] ['cardno'] + '.jpg"> </div>'; cardhtml += '<div> <img src = "bilder/cardbg.jpg"> </div>'; cardhtml += '</div>'; cardhtml += '</div>'; } Sethtml ('Gameplane', Cardhtml); } // Flip alle Turnall = function () {for (var i = 0; i <LevelData.length; i ++) {Turn_animate (i); }} // Flip Animation Turn_animate = function (Schlüssel) {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); } // klicken Sie auf Ereignis set_event = function () {var o = $ _tag ('div', 'gameplane'); für (var i = 0, count = o.Length; i <count; i ++) {if (getClass (o [i]) == 'kartenansichts-flip') {o [i] .onclick = function () {Turn (this.id); }}}} // Zeitstart prozess = function () {is_lock = 0; var curtime = gametime [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; } // Game Message Animation Message = Funktion (Typ, Rückruf) {is_lock = 1; var message = $ ('meldung'); var verarbeitet = 0; var opacity = 0; var Soundime = {'start': 1500, 'Erfolg': 4000, 'fail': 6000, 'Clear': 4000}; disp ('message', 'show'); setClass (message, 'message_' + type); Setopazität (Nachricht, Deckkraft); SetPosition (Nachricht, 'links', 0); SetPosition (Message, 'Top', 390); if (type == 'start') {bgSound (type, true); } else {bgSound (type); } var et = setInterval (function () {var message_left = getPosition (message, 'links'); verarbeitet = verarbeitet + 25; if (verarbeitet> = 500 && verarbeitet <= 750) {opazität = opazität + 10; setPosition (message, links ', message_left + 30); verarbeitet <= SoundTime [Typ] +250) {Opazität }}}, 25); } // flop rurn = function (id) {if (is_lock == 1) {return; } var key = parseInt (id.replace ('karten', '')); if (LevelData [Schlüssel] ['Turn'] == 0) {// nicht geöffnet if (first ==-1) {// First Turn_animate (Schlüssel); zuerst = Schlüssel; LevelData [Schlüssel] ['Turn'] = 1; } else {// Second Turn_animate (Schlüssel); LevelData [Schlüssel] ['Turn'] = 1; check_turn (Schlüssel); }}} // Überprüfen Sie, ob der Flop erfolgreich ist. if (LevelData [First] ['Cardno'] == LevelData [Key] ['Cardno']) {// erfolgreicher Matchnum ++; if (matchnum == cardnum) {var et = setTimeout (function () {message ('Erfolg', Levelup);}, 225); } First = -1; is_lock = 0; } else {// Pairing fehlgeschlagen, drehen Sie die geöffnete Karte var et = setTimeout (function () {Turn_animate (zuerst); LevelData [zuerst] ['Turn'] = 0; Turn_animate (Schlüssel); LevelData [Schlüssel] ['Turn'] = 0; First = -1; }} // pass Level-up = function () {if (Level <gametime.length-1) {Level ++; Sethtml ('Level', Level); Start(); } else {clear (); }} // clear = function () {Level = 1 übergeben; Disp ('Levelplane', 'Hide'); disp ('prozess', 'verstecken'); Sethtml ('Gameplane', ''); Nachricht ('Clear', init); } // Music -Wiedergabe bgSound = function (Datei, Schleife) {var id = 'audioplayer'; if (typeof (Datei)! } var audioFile = []; audioFile ['mp3'] = 'musik/' + file + '.mp3'; audioFile ['ogg'] = 'musik/' + file + '.ogg'; Audioplayer (ID, AudioFile, Loop); } else {audioplayer (id); }} // gameplay tips = function (type) {disp ('tips', type); } // Die Gesamtzahl der Karten erhalten get_total = function () {return Total; } // Parameter reset reset = function () {disp ('Levelplane', 'show'); Sethtml ('Level', Level); disp ('prozess', 'show'); Sethtml ('Livetime', ''); Sethtml ('Gameplane', ''); is_lock = 1; is_over = 0; zuerst = -1; Matchnum = 0; } zurückgeben;}) (42,9);Ich glaube, dass die Beschreibung in diesem Artikel einen gewissen Referenzwert für das Erlernen aller JavaScript -Spieledesigns haben wird.