Artikel ini menjelaskan kode sumber flip pedang mini-game JS, yang merupakan kode sumber yang sangat baik dari permainan. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
1. PENDAHULUAN GAME:
Ini adalah permainan pasangan gagal dengan total sepuluh level.
1. Gim ini secara acak menarik 9 kartu dari 42 kartu untuk dimainkan, masing -masing grup adalah 2 kartu yang sama, dengan total 18 kartu.
2. Beralih ke dua yang identik berturut -turut adalah kemenangan. Ketika semua 9 grup diputar, Anda akan lulus. Jika Anda tidak beralih ke dua gambar berturut -turut, Anda harus memutarnya lagi.
3. Gim ini memiliki 10 level, dan akan berhasil dalam tantangan dalam waktu yang ditentukan.
4. Jika level tidak lulus dalam waktu yang ditentukan, permainan akan berlanjut dari level saat ini.
5. Gambar kartu dan musik dalam permainan dimiliki oleh Daewoo.
6. Membutuhkan browser yang mendukung HTML5, Chrome dan Firefox adalah yang terbaik.
Gambar game:
Klik di sini untuk mengunduh kode contoh lengkap.
2. Bagian JavaScript:
/** Permainan Flip Pedang Fairy* Tanggal: 2013-02-24* Penulis: fdipzone* ver 1.0*/window.onload = function () {var gameimg = ['gambar/start.png', 'gambar/success.png', 'gambar/gagal.png', 'gambar/clear.png', ']; cardbg. untuk (var i = 1; i <= card.get_total (); i ++) {gameimg.push ('gambar/kartu' + i + '.jpg'); } var callback = function () {card.init (); } img_preload (GameImg, callback);}/** Kelas kartu*/var card = (fungsi (total, cardnum) {var gametime = [0,65,60,55,50,45,40,35,30,25,20]; // Waktu bermain per level var Turntime = 8;//watch levele = var level = 1; LevelData =]; / Mulai game = function () {reset (); turnall (); i <= total; i ++) {cardData.push (i); } // menggambar kartu untuk (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}); } // menghasilkan kartu permainan pesanan acak levelData = shuffle (levelData); } // menghasilkan kartu show = function () {var cardhtml = ''; untuk (var i = 0; i <levelData.length; i ++) {cardHtml+= '<verv>'; cardhtml + = '<div id = "card' + i + '">'; cardHtml + = '<div> <img src = "gambar/kartu' + levelData [i] ['cardno'] + '.jpg"> </div>'; cardHtml += '<div> <img src = "gambar/cardbg.jpg"> </div>'; cardhtml += '</div>'; cardhtml += '</div>'; } sethtml ('gameplane', cardhtml); } // flip semua turnall = function () {for (var i = 0; i <levelData.length; i ++) {turn_animate (i); }} // flip animasi 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, 'Daftar flip in');}, 225); } // Setel klik event set_event = function () {var o = $ _tag ('div', 'gameplane'); untuk (var i = 0, count = o.length; i <count; i ++) {if (getClass (o [i]) == 'card viewport-flip') {o [i] .OnClick = function () {turn (this.id); }}}} // Waktu mulai proses = fungsi () {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; pesan ('gagal', start); } // Pesan Game Animation Message = Function (type, callback) {is_lock = 1; var pesan = $ ('pesan'); var diproses = 0; var opacity = 0; var soundtime = {'start': 1500, 'Success': 4000, 'fail': 6000, 'clear': 4000}; disp ('pesan', 'show'); setClass (pesan, 'message_' + type); setopacity (pesan, opacity); setPosition (pesan, 'kiri', 0); setPosisi (pesan, 'atas', 390); if (type == 'start') {bgsound (type, true); } else {bgsound (type); } var ET = setInterval (function () {var message_left = getPosition (pesan, 'kiri'); diproses = diproses + 25; if (diproses> = 500 && diproses <= 750) {opacity = opacity + 10; setPosition (pesan, 'kiri', pesan_left + 30); setopacity (pesan, pesan, unggulan); Diproses <= SoundTime [Type] +250) {Opacity = Opacity-10; }}}, 25); } // flop turn = function (id) {if (is_lock == 1) {return; } var key = parseInt (id.replace ('card', '')); if (levelData [key] ['turn'] == 0) {// tidak dibuka if (first ==-1) {// turn_animate pertama (key); pertama = kunci; levelData [key] ['turn'] = 1; } else {// turn_animate kedua (kunci); levelData [key] ['turn'] = 1; check_turn (kunci); }}} // Periksa apakah flop berhasil check_turn = function (key) {is_lock = 1; if (levelData [pertama] ['cardno'] == levelData [key] ['cardno']) {// matchnum ++ yang berhasil; if (matchnum == cardnum) {var et = setTimeOut (function () {message ('Success', levelup);}, 225); } first = -1; is_lock = 0; } else {// pasangan gagal, flip kartu yang dibuka var et = setTimeout (function () {turn_animate (pertama); levelData [pertama] ['turn'] = 0; turn_animate (key); levelData [key] ['turn'] = 0; first = -1; if (is_over == 0) {Is_lock = 0; }} // lulus levelup levelup = fungsi () {if (level <gametime.length-1) {level ++; sethtml ('level', level); awal(); } else {clear (); }} // Lewati semua jelas = fungsi () {level = 1; disp ('levelplane', 'hide'); disp ('proses', 'hide'); sethtml ('gameplane', ''); pesan ('jelas', init); } // musik pemutaran bgsound = fungsi (file, loop) {var id = 'audioplayer'; if (typeof (file)! = 'tidak terdefinisi') {if (typeof (loop) == 'tidak terdefinisi') {loop = false; } var audiofile = []; audiofile ['mp3'] = 'Music/' + File + '.mp3'; audiofile ['ogg'] = 'music/' + file + '.ogg'; audioplayer (id, audiofile, loop); } else {audioplayer (id); }} // gameplay Tips = function (type) {disp ('Tips', type); } // Dapatkan jumlah total kartu get_total = function () {return total; } // Reset parameter reset = function () {disp ('levelplane', 'show'); sethtml ('level', level); disp ('proses', 'show'); setHtml ('livetime', ''); sethtml ('gameplane', ''); is_lock = 1; is_over = 0; pertama = -1; matchnum = 0; } kembalikan ini;}) (42,9);Saya percaya bahwa deskripsi dalam artikel ini akan memiliki nilai referensi tertentu untuk pembelajaran semua orang tentang desain game JavaScript.