Artikel ini menjelaskan kode sumber Cosmic Fighter dari mini-game JS dan dibagikan kepada Anda untuk referensi Anda. Pendahuluan spesifik adalah sebagai berikut:
1. PENDAHULUAN GAME:
Ini adalah permainan menembak terbang, vertikal, dengan total enam level.
2. Persyaratan Game:
1. Pejuang dapat menembakkan peluru, dan peluru dapat ditingkatkan dengan mendapatkan alat peraga.
2. Pejuang dapat ditempatkan di bom, dan jumlah alat peraga dapat diperoleh dapat ditingkatkan.
3. Jet tempur dapat mengumpulkan kekuatan untuk menyerang.
4. Ada tiga jenis saluran, yaitu, meningkatkan peluru, meningkatkan jumlah bom, dan meningkatkan jumlah jet tempur.
5. Setiap level memiliki musik yang berbeda.
6. Jet tempur ditembak jatuh dan kemudian memasuki medan perang, dan berada dalam keadaan yang dilindungi.
7. Desain AI Pesawat Musuh.
Gim ini berjalan seperti yang ditunjukkan pada gambar di bawah ini:
Klik di sini untuk mengunduh kode contoh lengkap .
3. Bagian Kode Sumber JavaScript:
/** Cosmic Fighter* Penulis: fdipzone* Tanggal: 2013-02-12* ver: 1.0*/window.onload = function () {var gameimg = ['gambar/fighter.png', 'gambar/fighter_png', 'gambar/fighter_s.png', 'fighter_s.png', 'gambar/fighter/fighter', ',' fighter_s.png ', fighter/fighter/fighter/fighter/fighter/fighter/fighter,' 'Images/Fighter_s.png', 'Images/Shot.png', 'Images/Destroy.png', 'Images/Destroy.png', 'Images/Enemy.png', 'Images/Bullet.png', 'Images/Gift.png', 'Images/Bomb.png', 'Images/Boss1. var callback = function () {var gameplane = $ ('gameplane'); fighter.init (); Fighter.bgmove (gameplane); } img_preload (GameImg, callback);};/** Fighter class*/var fighter = (function () {var hiscore = 10000; // skor var tertinggi = 0; // skor saat ini var fighter = 3; // jumlah fighter var bombnum = 3; // Jumlah bom var ft ft = nol/st a var/st. var is_bombing = 0; // Is var is_lock = 1 in explosion; // Is var is_over = 0; // Is ended var is_clear = 0; // Is the screen clearing var is_pile = 0; // Is the power accumulation var is_protect = 0; // Is the status var pilenum = 0; // Is the power accumulation var ackey = {}; // Is the record key pressed var Keypriority = {}; Input Var Failures = 0; // Jumlah tantangan gagal // data bos var bossdata = [{'armor': 500, 'kiri': 136, 'top':-169, 'Langkah': 30}, {'Armor': 1000, 'kiri': 136, 'Langkah': 30}, {'Armor': 200, 'kiri': 136, 'Langkah': 30}, {'Armor': 200: 200: 'Langkah': 30}, {'Armor': 2500, 'Left': 136, 'Top':-169, 'Step': 30}, {'Armor': 3000, 'Left': 136, 'Top':-169, 'Langkah': 30},]; // pesawat musuh yang muncul var musuh data musuh = []; // bos var curboss saat ini muncul var curboss = null; // Data level var peta = [// level 1 {'ms50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 290, 10]], 'MS2500': [3, 800, 2, 200, -10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 2, 800, 290, 290, 290, 290, 2, 'MS9500': [[3, 800, 2, 200, 450, -10]], 'ms8000': [[1, 10, 11, -23, 100, 10]], 'ms9500': [[3, 800, 2, 200, 450, -10], 'ms8000': [1, 10, 11, -23, 100, 'MS8000': [1, 10, 11, 10, '10,' MS8000 ': [1, 10, 10, 10, 10, -50, 10]], 'ms11500': [[3, 800, 2, 200, 450, -10]], 'ms13500': [[3, 800, 2, 100, -50, 10]], 'ms15500': [3, 800, 3, -50, 30, 10], 'MS25000': [3, 800, 3, 3, 10, 10, '],' MS1550 ': [3, 800, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3. 'MS20000': [[3, 800, 3, -50, 90, 10]], 'MS25000': [[1, 10, 4, 150, -50, 280, 10]], 'MS25000': [1, 10, 4, 150, -50, 10, 40, 40, 40, 40, 40, 40, 40, 40, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 400, -10], [1, 10, 4, 100, 400, -10]], 'MS30000': [[3, 800, 5, 692, 90, -10], [3, 800, 5, 692, 280, -10], '10], [3, 680, 1, -50, 70, 70, 10, 68, 68, 68, 680, 680, 680, 680, 680, 680, 680, 680, 'MS38000': [[1, 10, 11, -23, 10, 10]], 'ms40000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS42500': [3, 680, 1, -50, 70, 10], [3, 680, 680, 680, 1, 680, 1, 680, 680, 68, 'MS45500': [[3, 800, 2, 150, 450, -10]], 'MS49500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, -150], '],'], '],'.10, '10, '10, '150, '150, '150, '150, '150,'. 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [[3, 800, 3, -50, 90, 10], [3, 800, 3, -50, 280, 10, 100, "MS60000 ': [3, 800, 300, 3, 10, 10, 10, 10, 10, 10,', 'MS600', 'MS600', [3, 800, '. 10]], 'MS65000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'ms68000': [3, 800, 5, 692, 110, -10], [3, 800, 5, 692, 260, -10], [3, 692, 692, 692, 692, 692, 692, 69, -10, 'ms76000': []}, // level 2 {'ms50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 290, 10]], 'ms2500': [3, 680, 1, -50, 70, 10], [3, 680, '[3, 680, '10, '10, '10, '10, '10, '10, '10, '10, '10, 10, 12, -23, 190, 10]], 'ms5500': [[3, 800, 2, 100, -50, 10]], 'ms7500': [[3, 800, 2, 200, 450, -10], 'ms8000': [1, 10, 11, -23, 100, 10], 'MS8000': [1, 11, -23, 100, 10, ', [1, 10, 10, 8000],' MS8000 ': [1, 10, 8, 'MS11500': [[3, 800, 2, 200, 450, -10]], 'MS13500': [[3, 800, 2, 100, -50, 10]], 'MS15500': [3, 800, 3, -50, 10, (3, 800, (300, (300, (300, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10], [3, 800, 3, -50, 280, 10]], 'MS35000': [[1, 10, 4, 150, -50, 10], [1, 10, 4, 250, 400, -10]], 'MS30000': [3, 800, 5, 692, 90, -10], '[3, 800, 692, 692, 69, 69, 69, 69, 69, 690, [3, 6, -10]], 'ms35000': [[3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10]], 'MS45500': [[1, 10, 11, 100, 10, 400, '10, '10, '10, '10, '10, '10, '10, '10, '10, '10, 10, 4, 10, 10, 4, 10, 4, 10, 4, 10, 4, 10, 4, 10, 'MS42500': [[3, 680, 1, -50, 70, 10], 'MS45500': [[3, 680, 1, -50, 70, 10]], 'MS45500': [3, 800, 2, 50, 10], '],'], '],'], '), '150],'], '4, 800, 2, 800],'], '800], '150],'), '800], '150],' 800, 'MS49500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'ms55500': [3, 800, 3, -50, 100, '],' MS600 ',' [3, ', '10,', '. 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'ms68000': [[3, 800, 5, 692, 110, -10], [3, 800, 5, 692, 260, -10], 'MS71000': [1, 10, 13, -2, -10, 'ms71000': [1, 10, 130, -10. 3 {'MS50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 10]], 'ms2500': [3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10], 'MS3500': [1, 1, 1, 220, '220], '10, '10, '10, 'MS5500': [[3, 800, 2, 100, -50, 10]], 'MS7500': [[3, 800, 2, 200, 450, -10]], 'MS8000': [[1, 10, 11, -23, 100, 10, '),' MS9500 ': [3, 800, 2, 10, 10, 10,'), 'MS9500': [3, 800, 2, 10, 10, 'MS9500'. 450, -10]], 'MS13500': [[3, 800, 2, 100, -50, 10]], 'MS15500': [[3, 800, 3, -50, 30, 10]], 'MS20000': [3, 800, 3, 10, 90, 10], 'MS20000': [3, 800, -50, 90, 100, '10, '10, '10, '10, '10, '10, '10, '150, '150, '150, ', 250, 400, -10], [1, 10, 4, 100, 400, -10]], 'MS30000': [[3, 800, 5, 692, 90, -10], [3, 800, 5, 692, -50, 70, 68, 68, 68, 68, 68, 68, 68, 680, 68, 10]], 'MS38000': [[1, 10, 11, -23, 10, 10]], 'MS40000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10, 10, 'MS42500'. 450, -10]], 'MS49500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [3, 800, 2, 150, 450, -10], 'ms555' [3, 800, 800, 450, '110 ', [3, 800, 450, '110, 'MS55500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [3, 800, 3, -50, 90, 100], [3, 4, 800, 300, 280, 100, 100, 100, unggul. 30, 10], 'MS65000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS68000': [3, 800, 5, 692, 110, -10] [3, 800, 5, 692, 260, -10, -10, [3, 800, [3, 692, 692, 692, 692, 692, 69, 10]], 'ms76000': []}, // level 4 {'ms50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 290, 10]], 'MS2500': [3, 680, 1, -50, 70, 10], [3, 680, 680, 1, 680, 1, 680, 1, 680, 680, 'MS3500': [[1, 10, 12, -23, 190, 10]], 'MS5500': [[3, 800, 2, 100, -50, 10]], 'MS7500': [[3, 800, 2, 200, 450, -10], '],'], '], '150, '150, '150, '150, '150, '150, '150. 2, 100, -50, 10]], 'ms15500': [[3, 800, 2, 100, -50, 10]], 'ms15500': [[3, 800, 3, -50, 30, 10]], 'ms11500': [3, 800, 3, -50, 340, 10], 'ms200': [3, 800, 3, 340], 'MS11500': [3, 800, 3, 800, 3, -50, 280, 10]], 'MS35000': [[1, 10, 4, 150, -50, 10], [1, 10, 4, 250, 400, -10], 'MS30000': [3, 800, 5, 692, 90, -10], 'MS35000': [3, 692, 90, '90,' 90, '90],' 690, '690,' 690, '6, 'MS35000': [[3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10]], 'ms45500': [[1, 10, 11, -23, 10, 10], 'MS40000': [1, 10, 4, 4, 400, -10], '], [1, [1, 10, 4, 4, 400,'], 'MS400', [1, [1, 4, 4, 10, 10, 10, 10, 10, 10, 10, 10, 'MS42500': [[3, 680, 1, -50, 70, 10], 'MS45500': [[3, 680, 1, -50, 220, 10]], 'MS45500': [3, 800, 2, 50, 10], '-10],' ms47500 ': [3, 800, 800, 2,'], '], [3, 800, 800],'], [3, 800], [3, 800], [3, 800], [3, 800, 'MS49500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [3, 800, 3, -50, 100, '],' MS600 ', [3, (3, 800,'. 800, 3, -50, 30, 10]], 'MS65000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS68000': [3, 800, 5, 692, -110], [3, 800, 5, 692, 260, 692, [692, '. -23, 220, 10]], 'ms76000': []}, // level 5 {'ms50': [[3, 680, 1, -50, 10], [3, 680, 1, -50, 290, 10], 'MS2500': [3, 680, 1, 1, 70, 70, 10, 10], [3, 680, 1, 680, 680, 680, 680, 680, 680, 'ms3500':[[1, 10, 12, -23, 190, 10]], 'ms5500':[[3, 800, 2, 100, -50, 10]], 'ms7500':[[3, 800, 2, 200, 450, -10]], 'ms8000':[[1, 10, 11, -23, 100, 10]], 'ms9500':[[3, 800, 2, 100, -50, 10]], 'ms11500': [[3, 800, 2, 200, 450, -10]], 'ms13500': [[3, 800, 2, 100, -50, 10]], 'ms15500': [3, 800, 3, -50, 30, 10], [3, 800, '3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10, 800, 3, -50, 90, 10], 'MS25000': [[1, 10, 4, 150, -50, 10], [1, 10, 4, 250, 400, -10], [1, 10, 4, 100, 400, 90], ' -800, [3, 800, 5, 692, 90, 90, 90, 90,' 800, '800,' 800, '800,' 800, 69, 90, 90, -10]], 'ms35000': [[3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10]], 'MS38000': [[1, 10, 11, -23, 10, -400], '110, '110, '110], [1, [1, 10, 400, -400, -400], [MS400 ': [1, [1, [1, [1, 400, 10, 'MS42500': [[3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10]], 'MS45500': [3, 800, 2, 50, -50, 450, ' -ms47500'. 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [[3, 800, 3, -50, 90, 10], [3, 800, 3, -50, 280, 10], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, (3, (3, 3, 340, 10]], 'MS65000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS68000': [3, 800, 5, 692, 110, -10), [3, 800, 5, 692, 260, -110, "MS7," 1, 1, 1, 1, 692, -110, 10]], 'ms76000': []}, // level 6 {'ms50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 290, 10]], 'ms7500': [3, 680, 1, -50, 70, 10], [3, 680, 680, 1, 680, 680, 680, 680, 68, 'ms3500':[[1, 10, 12, -23, 190, 10]], 'ms5500':[[3, 800, 2, 100, -50, 10]], 'ms7500':[[3, 800, 2, 200, 450, -10]], 'ms8000':[[1, 10, 11, -23, 100, 10]], 'ms9500':[[3, 800, 2, 100, -50, 10]], 'ms11500': [[3, 800, 2, 200, 450, -10]], 'ms13500': [[3, 800, 2, 100, -50, 10]], 'ms15500': [3, 800, 3, 10, 30, 10]], 'MS15500': [3, 800, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 800, '. 'MS15500': [[3, 800, 3, -50, 30, 10]], 'MS20000': [[3, 800, 3, -50, 90, 10]], 'MS15500': [[3, 800, 3, -50, 90, 90], '800, (3, (3000, 1000,', ', 900, (3, 800, 10, 10]], 'MS35000': [[1, 10, 4, 150, -50, 10], [1, 10, 4, 250, 400, -10], [1, 10, 4, 100, 400, -10]], 'ms30000': [3, 800, 692, 90, -10], 'MS300': [3, 800, 692, 90 ',' 6, 692, '60, 10], [3, 680, 1, -50, 220, 10]], 'ms42500': [[3, 800, 2, 150, 450, -10]], 'ms49500': [[3, 800, 2, 150, 450, -10]], 'MS49500': [3, 800, 2, 2, 450], '450],' 450], '10, '10, -110], '10, 800, 2, 150, 450, -10]], 'ms49500': [[3, 800, 2, 150, 450, -10]], 'ms49500': [[3, 800, 2, 150, 450, -10, -450], 'ms49500' 150, 450, -10]], 'ms49500': [[3, 800, 2, 50, -50, 10]], 'ms51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [3, 800, 3, -50, 90, 10], [3, 800, [3, 800, -800, -15. 'MS60000': [[3, 800, 3, -50, 30, 10]], 'MS65000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS68000': [3, 800, 5, 692, 110, -10], [3, 800, 692, 692, 692, [300, 'ms71000': [[1, 10, 13, -23, 220, 10]], 'ms76000': []}]; // inisialisasi init = function () {ft = $ ('fighter'); mengatur ulang(); key_event (); } // Mulai game start = function () {is_clear = 0; is_protect = 0; disp (ft.id, 'show'); reset_fighter (); reset_pile (); proses(); bgsound (level, true); bgchange (level); fighter_init (); } // Atur event key_event = function () {document.onkeyDown = function (e) {var e = e || window.event; var Curkey = E.KeyCode || e. yang || E.Charcode; if (is_start == 0) {if (cheatcode.length> 12) {cheatcode.shift (); } cheatcode.push (Curkey); // Rekam input cheatcode oleh pengguna} if (is_start == 1 && in_array (Curkey, GameKey)) {if (ackey [Curkey.toString ()] == 0 || typeof (ackey [Curkey.tostring ()) == 'tidak didefinisikan' ||! In_array (Curkey.ToString ()) == 'tidak didefinisi' ||! In_array (Curkey, (83) == ') {) {) {(83) ==' (83) == ') ackey [Curkey.tostring ()] = 1; // Simpan Key Down Switch (Curkey) {Case 37: Case 39: KeyPriority.Left = Kurkey; // Istirahat kanan kiri; Kasus 38: Kasus 40: KeyPriority.top = Curkey; // Up Down Break; }} else {return false; }} if (Curkey == 13 || is_start == 1 && is_lock == 0) {// Game adalah mulai atau key = 13 switch (CURKEY) {case 13: // masukkan if (is_start == 0) {is_start = 1; disp ('op', 'hide'); msg_show (); setTimeout (function () {msg_hide (); cheat (); start ();}, 1500); } merusak; kasus 83: // shoot shot (); merusak; kasus 65: // bom bom (); merusak; }}} document.onkeyup = function (e) {var e = e || window.event; var Curkey = E.KeyCode || e. yang || E.Charcode; if (is_start == 1 && in_array (Curkey, GameKey)) {ackey [Curkey.ToString ()] = 0; // Lepaskan kunci ke bawah if (Curkey == 83) {// Lepaskan serangan daya if (is_pile == 1) {pile_shot (); } reset_pile (); }}}} // Tindakan dieksekusi oleh loop = function () {var movestep = 5; // Pindah Ukuran Langkah Var ET = SetInterval (function () {if (is_start == 0 || is_lock == 1) {clearInterval (ET);} // pindahkan if (ackey ['37 '] == 1 && (ackey ['39'] == 0 || KEYPRIORITAS.LEFT == 37)) ('39 '] == 0 || KEYPRIORITAS.LEFT == 37))) {priorypriority. if (getPosition (ft, 'left') <movestep) {setPosition (ft, 'left', 0); if (getPosition (ft, 'top') <movestep) {setPosition (ft, 'top', 0); if (400- (getPosition (ft, 'left') + 50) <movestep) {setPosition (ft, 'left', 350); ||. }} // Serangan pengisian IF (ackey ['83 '] == 1) {if (Pilenum <1000) {Pipeline = Pipelineum + 20; } lain jika (is_pile == 0) {is_pile = 1; if (is_protect == 1) {setClass (ft, 'fighter_s'); } else {setClass (ft, 'fighter_s'); }}}}}}}}}}}, 20); } // fighter shoot shot = function () {// buat bullet var bullet = document.createElement ('div'); var offsetx; switch (power) {case 1: offsetx = 20; merusak; Kasus 2: offsetx = 15; merusak; Kasus 3: offsetx = 10; merusak; Kasus 4: offsetx = 4; merusak; } setClass (Bullet, 'Shot' + Power); // Atur posisi awal setposisi peluru (peluru, 'atas', getPosition (ft, 'atas')-30); setPosisi (Bullet, 'kiri', getPosition (ft, 'kiri') + offsetx); ft.parentnode.AppendChild (Bullet); // Atur gerak peluru var et = setInterval (function () {if (getPosition (bullet, 'top') <=-30 || is_lock == 1) {clearInterval (ET); ft.parentnode.removechild (Bullet); // Release Bullet} for (var i = 0; i <weardat); if ifeData [i]! = NULL) {if (benteng, musuh [i])) {// menyerang pesawat musuh (musuh [i]); if (Curboss! = Null) {// Boss Battle if (Impact (Bullet, Curboss ['Obj'])) {// Pukul Boss Curboss ['Armor'] = ParseInt (Curboss ['Armor']-Power*10; 'Top')-15);}, 30)} // menyebabkan pile_shot = function () {var pilebullet = document.createElement ('div'); setClass (Pilebullet, 'Pileshot'); // Atur posisi awal setposisi peluru (pilebullet, 'atas', getPosition (ft, 'atas')-30); setPosisi (pilebullet, 'kiri', getPosition (ft, 'kiri')); ft.parentnode.AppendChild (Pilebullet); var et = setInterval (function () {if (getPosition (pileBullet, 'top') <=-85 || is_lock == 1) {clearinterval (ET); ft.parentnode.removechild (pileBullet); // lepaskan bulet} untuk (var i = 0; i <pileBullet); // Lepaskan Bulet} untuk (var I = 0; i <pileBullet); if (musuh [i]! = null) {if (dampak (pileBullet, musuh [i])) {// Pukul pesawat musuh hancurkan (musuh [i]); Curboss ['Obj'])) {// Tekan bos Curboss ['Armor'] = ParseInt (Curboss ['Armor'])-100; } // Rilis bom bom = fungsi () {if (is_bombing == 0 && bombnum> 0) {// tidak dalam ledakan dan ada jumlah bom is_bombing = 1; Bombnum -; sethtml ('bombnum', bombnum); // penurunan 1 var opacity = 100; setopacity ($ ('bom'), opacity); disp ('bom', 'show'); // Bersihkan semua pesawat musuh dan peluru musuh is_clear = 1; // strike boss if (curboss! = Null) {curboss ['armor'] = parseInt (curboss ['armor'])-300; } var step = 0; var et = setInterval (function () {// Efek bom jika (langkah <11) {setBgposition ($ ('bom'), 0, langkah*(-280));} else {clearInterval (ET); disp ('bom', 'hide'); is_bombing = 0; is_clear = 0;} langkah ++ ++,}; }} // proses proses game = function () {var levelData = peta [level-1], diproses = 0, langkah = 10; var levelStep = 0; // Bersihkan 0 untuk setiap level var et = setInterval (function () {if (is_lock == 0) {diproses+= langkah; if (attrCount (levelData)> levelStep) {// level ini belum selesai jika (levelData ['ms'+diproses]) {untuk (var i = 0; i <levelData ['ms'+ms '+. LevelData ['MS'+diproses] [i]; } /* Create level elements/* msdata:{ num: the number of occurrences interval: interval: interval: type: type top: original top coordinate left: original left coordinate step: movement distance} */ create = function(msdata){ var num = msdata[0], interval = msdata[1], type = msdata[2], top = msdata[3], left = msData [4], langkah = msData [5]; var et = setInterval (function () {if (num> 0) {var enft = document.createElement ('div'); setClass (enft, 'element' + type); enft.type = type; setPosisi (enft, 'atas', atas); setPosisi (enft, 'kiri', kiri); ft.parentnode '); setPosisi (enft,' kiri ', kiri); ft.parentnode); rute musuh (enft); } // elemen rute track track = fungsi (enft, type, step) {var et = null; switch (type) {case 1: // Curve var count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+math.abs (langkah)); setPosisi (enft, 'kiri', getPosition (enft, 'kiri')+langkah); hitung <5? Count, 'count', getPosition (enft, 'left')+Step); count <5? count: count: (count '(ENFT,' left ')+Step); count <5? count: count: (count, = 1); 'Top') 640 || merusak; Kasus 2: // Horizontal var count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'left', getPosition (enft, 'left')+step); count <9? count ++: (count = 0, serang (enft, 1,17,47)); ifosition (getPosition (getposition (enft, 'left') ('') ('400 & gets> GetPosition (getSiPosition (getSiosition (' gets> 400); ifosition (ifosposition '); && <0 ||. merusak; Kasus 3: // VAR VAR COUNT = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+step); count <9? count ++: (count = 0, serang (enft, 1,17,47)); ifposition (getPosition (enft, 'top')> 64); ClearInter (ET); merusak; Kasus 4: // Serangan Gerakan Loop Kiri dan Kanan Var Count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'left', getPosition (enft, 'left')+step); count <10? count ++: (count = 0, serang (enft, 4,17,31)); if (getPosition (enft, 'enft') (left ') (left') (ENFT ')); ifosition & ifosition & getposition & ifosition & ifosition (iftosy ifosy> (ENFT') (ENFT ') (ENFT'); && <0) {Step*=-1; merusak; Kasus 5: // Serangan dari belakang var count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+step); count <9? count ++: (count = 0, serang (enft, 1,17, -17)); ifposition (getPosition (enft, 'clop') <i adalah iS = {{o. {iSclo. ClearInter (ET); merusak; Kasus 11: // Power Gift var count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+math.abs (langkah)); setPosisi (enft, 'kiri', getPosition (enft, 'kiri')+langkah); hitung <5? Count, 'count', getPosition (enft, 'left')+Step); count <5? count: count: (count '(ENFT,' left ')+Step); count <5? count: count: (count, = 1); 'Top') 640 ||. ClearInterval (ET);}}, 80); merusak; Kasus 12: // Hadiah Bom Var Count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+math.abs (langkah)); setPosisi (enft, 'kiri', getPosition (enft, 'kiri')+langkah); hitung <5? Count, 'count', getPosition (enft, 'left')+Step); count <5? count: count: (count '(ENFT,' left ')+Step); count <5? count: count: (count, = 1); 'Top') 640 || ClearInterval (ET);}}, 80); merusak; Kasus 13: // Hadiah Fighter Var Count = 0; ET = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', getPosition (enft, 'top')+math.abs (langkah)); setPosisi (enft, 'kiri', getPosition (enft, 'kiri')+langkah); hitung <5? Count, 'count', getPosition (enft, 'left')+Step); count <5? count: count: (count '(ENFT,' left ')+Step); count <5? count: count: (count, = 1); 'Top') 640 ||. ClearInterval (ET);}}, 80); merusak; }} // hancurkan dihancurkan = fungsi (dobj) {// dobj: objek yang dihancurkan var dest = document.createelement ('div'); SetClass (Dest, 'Destroy'); setPosition (dest, 'top', getPosition (dobj, 'top')); setPosition (dest, 'left', getPosition (dobj, 'left')); ft.parentnode.appendchild (dest); if (dobj.id == 'fighter') {// pejuang itu hit disp (dobj.id, 'hide'); kekuatan = 1; Bombnum = 3; Fightnum--; sethtml ('fightternum', fightnum); sethtml ('bombnum', bombnum); is_lock = 1; } else {dobj.parentnode.removechild (dobj); } var step = 0; var et = setInterval (function () {if (langkah <11) {setBgPosition (dest, step*(-48), 0); step ++;} else {if (doBj.id == 'fighter') {setTimeout (function () {if (fighternum> 0) {levelContinue (); Curboss ['Obj']; } // boss war bosswar = function () {var boss = bossData [level-1]; var bossft = document.createelement ('div'); setClass (bossft, 'boss' + level); setPosisi (bossft, 'kiri', bos ['kiri']); setPosition (bossft, 'top', boss ['top']); ft.parentnode.appendchild (bossft); Curboss = {"baju besi": boss ['armor'], "obj": bossft}; switch (level) {case 1: // boss 1 case 2: // boss 2 case 3: // boss 3 case 4: // boss 4 case 5: // boss 5 case 6: // boss 6 var step = -3; var count = 0; var et = setInterval (function () {if (getPosition (bossft, 'top') <50) {// boss masuk setPosition (bossft, 'top', getPosition (bossft, 'top')+5);} else {if (curboss ['armor'] <= 0) {// boss clearinterval (Et); if (getPosition (bossft, 'left')> 10) {setPosition (bossft, 'left', getPosition (bossft, 'left')+step)} else {step*=-1; } {Step*=-1; Hitung 100 == 0) {Attack (Bossft, 3, 60, 92); merusak; }} / * Serangan * OBJ Pesawat musuh * Ketik Jenis Serangan * Bullet Kiri Kiri Kiri * Top Top Awal Top * / Attack = Fungsi (Obj, Type, Left, Top) {if (is_lock == 1) {return false; // Jika terkunci, jangan tembak} var oleft = getPosition (obj, 'kiri')+kiri; var top = getPosition (obj, 'top')+top; sakelar (type) {case 1: // Serang di petarung // posisi awal peluru dan posisi pejuang var oppoint = {x: oleft+7, y: otop+7}; var dpoint = {x: getPosition (ft, 'left')+25, y: getPosition (ft, 'top')+25}; var p = vektor (opoint, dpoint, 8); enftbullet ('Bullet', OLEFT, TOP, P [0], P [1], 35); merusak; Kasus 2: // Serangan Lurus Var NUM = 3; var st = setInterVal (function () {if (num> 0) {enftBullet ('Bullet', oleft, atas, 0, 8, 35); num -;} else {clearInterval (st);}, 150); merusak; Kasus 3: // Serangan sebar var num = 3; var st = setInterval (function () {if (num> 0) {switch (num) {case 1: enftbullet ('sbullet', oleft, top, 0, 8, 35); break; case 2: enftbullet, 'sbullet', oleft, topop, 3, 8, 8, 35); break; case 3: case 3: englet (oleft, topop, 3, 8, 8, 35); break; case 3: englet (oLeft, Topop, 3, 8, 85); break; case 3: case 3: englet (oLeft, topop, 3, 8, 85); break; case 3: case 3: englet (oLeft, topop, 3, 8, 85); break; case 3: englet (oLFT, TOPOP, 3, 8, 35); Break; case 3 8, break; merusak; Kasus 4: // Serangan sebar kecil var num = 3; var st = setInterval (function () {if (num> 0) {switch (num) {case 1: enftbullet ('Bullet', OLEFT, Topop, 0, 8, 35); break; case 2: enftbullet ('Bullet', oleft, top, 3, 8, 35); break; case 3: engtbullet, 'BULLET, TOP, 3, 8, 35); break; case 3: ENFTBUll break; merusak; }} / * ENFT BULLET * TYPE BULLET TYPE * OLEFT, TOP BULLET POSISI Awal * Kiri, TOP BULLET * SPEED * / ENFTBULLLET = FUNGSI (TYPE, OLEFT, TOP, KIRI, TOP, KECEPATAN) {VAR BULLET = DOCORY.CREATEELEMENT ('Div'); setClass (Bullet, Type); setPosition (Bullet, 'Left', OLEFT); setPosition (Bullet, 'Top', Top); ft.parentnode.AppendChild (Bullet); var ET = setInterval (function () {setPosition (Bullet, 'Top', getPosition (Bullet, 'Top')+Top); setPosisi (Bullet, 'Left', GetPosisi (Bullet, 'Left')+Left); if (getPosition (Bullet, 'kiri')> 400 || getPosition (Bullet, 'Left') <') (Bullet,' Kiri ')> 400 || getPosition (Bullet,' Left ') <) <') GetPosisi, 'Top')> 640 || } // boss over boss = function () {obj = curboss ['obj']; obj.parentnode.removechild (OBJ); skor (6); // boss skor var dest = document.createelement ('div'); SetClass (Dest, 'Destroyboss'); setPosition (dest, 'top', getPosition (obj, 'top')); setPosition (dest, 'left', getPosition (obj, 'left'))); ft.parentnode.appendchild (dest); var step = 0; var et = setInterval (function () {if (langkah <21) {setBgPosition (dest, step*(-150), 0);} lain jika (langkah == 21) {dest.parentnode.removechild (dest);} else if (step == 50) {clearInterval (et); levelUp ();} Langkah if (step == 50) {clearInterval (et); levelUp (); } // lanjutkan levelContinue = function () {reset_fighter (); disp (ft.id, 'show'); setProtect (); fighter_init (); } // level level level = function () {keypriority = {}; musuh = []; Curboss = null; level ++; bgsound ('pass', false); var diproses = 0; var et = setInterval (function () {is_lock = 1; diproses = diproses + 15; if (getPosition (ft, 'top')>-50) {setPosition (ft, 'top', getPosition (ft, 'top')-15);} if (diproses> = 2500) {clearInterIval (Et); bgchange (0); } // Perbarui skorup = fungsi (type) {if (typeOf (scoretag [type])! = 'undefined') {score = score + scoretag [type] * level; sethtml ('skor', skor); if (skor> hiscore) {hiscore = skor; sethtml ('hiscore', hiscore); }}} // Bullet upgrade powerup = function () {power = power+1> 4? 4: kekuatan+1; } // bom meningkatkan bombop = fungsi () {bombnum ++; sethtml ('bombnum', bombnum); } // Fighter meningkatkan fighter up = function () {fighternum ++; sethtml ('fightternum', fighternum); } // status perlindungan setProtect = function () {is_protect = 1; if (is_pile == 1) {setClass (ft, 'fighter_sp'); } else {setClass (ft, 'fighter_p'); } setTimeout(function(){ is_protect = 0; if(is_pile==1){ setClass(ft, 'fighter_s'); }else{ setClass(ft, 'fighter'); } }, 3000) } // Collision processing impact_handle = function(obj, et){ // et timer if(impact(obj, ft) && is_lock == 0) {// tabrakan yang dihasilkan if (is_protect == 0) {hancurkan (ft); ClearInterval (ET); ft.parentnode.removechild (OBJ); }}} // semua clearance gameclear = function () {is_over = 1; disp ('gameclear', 'show'); setHtml ('clearcon', 'game clear' + '<br>' + 'skor:' + skor); bgsound ('jelas', false); bgchange ('jelas'); setTimeout (function () {bgSound (); init ();}, 16000); } // Akhir game GameOver = function () {is_over = 1; disp ('Gameover', 'show'); setHtml ('overcon', 'level:' + level + '<br>' + 'skor:' + skor); bgsound ('over', false); bgchange ('over'); FailTimes ++; setTimeout (function () {if (failTimes == 3) {waspada ('enter ↑ ↑ ↓ ← → ← → Asas, Mulai permainan lagi, dan akan ada kejutan^_^');} bgSound (); init ();}, 8000); } // tunjukkan pesan msg_show = function () {setHtml ('level', 'level -' + level); disp ('level', 'show'); is_lock = 1; } // Sembunyikan pesan msg_hide = function () {disp ('level', 'hide'); } // reset reset = function () {is_start = 0; is_bombing = 0; is_lock = 1; is_over = 0; is_clear = 0; is_protect = 0; level = 1; kekuatan = 1; ackey = {}; keypriority = {}; musuh = []; skor = 0; fightenum = 3; Bombnum = 3; sethtml ('hiscore', hiscore); sethtml ('skor', skor); sethtml ('fightternum', fightenum); sethtml ('bombnum', bombnum); reset_fighter (); reset_pile (); disp ('op', 'show'); disp ('Gameover', 'hide'); disp ('gameclear', 'hide'); bgchange (0); } // Reset posisi tempur reset_fighter = function () {setPosition (ft, 'top', 640); setPosisi (ft, 'kiri', 175); setClass (ft, 'fighter'); } // Reset biaya reset_pile = function () {is_pile = 0; Pilenum = 0; if (is_protect == 1) {setClass (ft, 'fighter_p'); } else {setClass (ft, 'fighter'); }} // Inisialisasi tempur fighter_init = function () {var et = setInterval (function () {if (getPosition (ft, 'top')> 400) {setPosition (ft, 'top', getPosition (ft, 'Top')-12);} lain {clearInderVal (et); } // Secret Skill 30 Life cheat = function () {if (cheatcode.join (',') == '38,38,40,40,37,39,37,39,65,83,65,83,13') {fighenum = 30; sethtml ('fighternum', fightnum); } cheatCode = []; } // kontrol latar belakang bgmove = fungsi (obj) {var step = 1; var et = setInterval (function () {var bgpos = getBgposition (obj); if (bgpos ['top'] == 640) {setBgposition (obj, 0, 0); // reset} else {setBgposition (obj, bgpos ['kiri'], bgpos {setBgPosition (obj, bgpos ['kiri'], bgpos ('); } // latar belakang switching bgchange = fungsi (file) {var obj = $ ('gameplane'); setClass (obj, 'gameplane bg'+file); } // kontrol musik 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); }} kembalikan ini;}) ();相信本文所述对大家javascript游戏设计有一定的借鉴价值。