تصف هذه المقالة رمز المصدر الكوني المقاتل من ألعاب JS المصغرة ويتم مشاركتها معك للرجوع إليها. المقدمة المحددة هي كما يلي:
1. مقدمة اللعبة:
هذه هي لعبة إطلاق النار ، عمودي ، مع ما مجموعه ستة مستويات.
2. متطلبات اللعبة:
1. يمكن للمقاتل النار في الرصاص ، ويمكن ترقية الرصاص عن طريق الحصول على الدعائم.
2. يمكن وضع المقاتل في القنابل ، ويمكن الحصول على عدد الدعائم.
3. يمكن للطائرات المقاتلة تجميع الطاقة للهجوم.
4. هناك ثلاثة أنواع من القنوات ، وهي ترقية الرصاص ، وزيادة عدد القنابل ، وزيادة عدد الطائرات المقاتلة.
5. كل مستوى لديه موسيقى مختلفة.
6. تم إسقاط طائرة المقاتلة ثم تدخل ساحة المعركة ، وهي في حالة محمية.
7. عدو الطائرات تصميم الذكاء الاصطناعي.
تعمل اللعبة كما هو موضح في الشكل أدناه:
انقر هنا لتنزيل رمز المثال الكامل .
3. جزء رمز المصدر JavaScript:
/** مقاتلة كوسية* المؤلف: fdipzone* التاريخ: 2013-02-12* ver: 1.0*/window.onload = function () {var gameimg = ['images/fighter.png' ، 'Images/Fighter_P.Png' ، 'Images/Fighter_S.Png' ، 'Images/Fighter_S.Png' ، "Images/Fighter_S.Png" ، "الصور/shoot.png" ، "الصور/تدمير. var callback = function () {var gameplane = $ ('gameplane') ؛ Fighter.init () ؛ Fighter.bgmove (GamePlane) ؛ } img_preload (gameimg ، callback) ؛} ؛/** فئة مقاتلة*/var fighter = (function () {var hiscore = 10000 ؛ // أعلى درجة var var = 0 ؛ started 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 = {} سجل الإدخال VAR VAILURES = 0 ؛ "الخطوة": 30} ، {"درع": 2500 ، "اليسار": 136 ، "أعلى":-169 ، "الخطوة": 30} ، {"درع": 3000 ، "اليسار": 136 ، "أعلى":-169 ، "الخطوة: 30} ،] ؛ // طائرة العدو التي تظهر DAR var Enemy Enemy Data = [] ؛ // يظهر Boss var Curboss حاليًا var curboss = null ؛ // مستوى بيانات var map = [// المستوى 1 {'ms50': [[3 ، 680 ، 1 ، -50 ، 10 ، 10] ، [3 ، 680 ، 1 ، -50 ، 290 ، 10]] ، 'MS2500': [[3 ، 800 ، 2 ، 200 ، 450 ، -10] ، '[[1 ، 10 ، 12 ، -23 ، 190] ، 10] ، 10] ، "MS9500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، "MS8000": [[1 ، 10 ، 11 ، -23 ، 100 ، 10]] ، "MS9500": [[3 ، 800 ، 2 ، 200 ، 450 ، -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' "MS20000": [[3 ، 800 ، 3 ، -50 ، 90 ، 10]] ، "MS25000": [[1 ، 10 ، 4 ، 150 ، -50 ، 280 ، 10]] ، 'MS25000': [[1 ، 10 ، 4 ، 150 ، -50 ، 280 ، 10] ، '[[1 ، 10 ، 4 ، 15 ، 10 ، 10 ، 400 ، -10] ، [1 ، 10 ، 4 ، 100 ، 400 ، -10]] ، 'MS30000': [[3 ، 800 ، 5 ، 692 ، 90 ، -10] ، [3 ، 800 ، 5 ، 692 ، 280 ، -10] ، 'ms35000': [[3 ، 680 ، 1 ، 70 ، 10] "MS38000": [[1 ، 10 ، 11 ، -23 ، 10 ، 10]] ، 'MS40000': [[1 ، 4 ، 100 ، 400 ، -10] ، [1 ، 10 ، 4 ، 300 ، -50 ، 10]] ، 'MS42500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10] "MS45500": [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، "MS49500": [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، "MS51500": [[3 ، 800 ، 2 ، 150 ، 450 ، -10] ، 'ms49500' "MS51500": [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، "MS55500": [[3 ، 800 ، 3 ، -50 ، 90 ، 10] ، [3 ، 800 ، 3 ، -50 ، 280 ، 10]] ، 'MS60000': [[3 ، 800 ، -50 ، 30 ، 10]] 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]] 'ms76000': []} ، // المستوى 2 {'ms50': [[3 ، 680 ، 1 ، -50 ، 10 ، 10] ، [3 ، 680 ، 1 ، -50 ، 290 ، 10]] ، 'ms2500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10] 10 ، 12 ، -23 ، 190 ، 10]] ، 'ms5500': [[3 ، 800 ، 2 ، 100 ، -50 ، 10]] ، 'ms7500': [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، 'MS8000': [1 ، 10 ، 11 ، 100 ، 10]] "MS11500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، "MS13500": [[3 ، 2 ، 100 ، -50 ، 10]] ، "MS15500": [[3 ، 800 ، 3 ، -50 ، 30 ، 10] ، [3 ، 800 ، 3 ، 340 ، 10]] 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]] -10]] ، "MS35000": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، [3 ، 680 ، 1 ، -50 ، 220 ، 10]] ، 'MS45500': [[1 ، 10 ، 11 ، -23 ، 10 ، 10]] "MS42500": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، 'MS45500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10]] "MS49500": [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، 'MS51500': [[3 ، 2 ، 2 ، 150 ، 450 ، -10]] ، 'MS55500': [[3 ، 800 ، 3 ، -50 ، 90 ، 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 ، -23 ، 220 ، 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] ، '[1 ، 10 ، 12 ، ، 190 ، 190 ، 190 ، 190 ، 190 ، 190 ، 190 ، "MS5500": [[3 ، 800 ، 2 ، 100 ، -50 ، 10]] ، "MS7500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، "MS8000": [[1 ، 10 ، 11 ، -23 ، 100 ، 10]] 450 ، -10]] ، 'MS13500': [[3 ، 800 ، 2 ، 100 ، -50 ، 10]] ، 'MS15500': [[3 ، 800 ، 3 ، -50 ، 30 ، 10]] ، 'MS20000': [[3 ، 800 ، 3 ، -50 ، 90 ، 10] ، 'MS25000' 250 ، 400 ، -10] ، [1 ، 10 ، 4 ، 100 ، 400 ، -10]] ، 'MS30000': [[3 ، 800 ، 5 ، 692 ، 90 ، -10] ، [3 ، 800 ، 5 ، 692 ، 280 ، -10]] ، 'ms35000': [3 ، 680 ، -50 ، 70 ، 10 ، 10]] ، "MS38000": [[1 ، 10 ، 11 ، -23 ، 10 ، 10]] ، 'MS40000': [[1 ، 10 ، 4 ، 100 ، 400 ، -10] ، [1 ، 10 ، 4 ، 300 ، -50 ، 10]] ، 'MS42500': [[3 ، 800 ، 50 ، -50 ، 10]] 450 ، -10]] ، 'MS49500': [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، 'MS51500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، 'MS55500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10] ، 'ms55500': [3 ، 2 ، 2 ، 2 ، 2 ، "MS55500": [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، "MS51500": [[3 ، 2 ، 2 ، 150 ، 450 ، -10]] ، "MS55500 ': [[3 ، 800 ، 3 ، -50 ، 90 ، 10] ، [3 ، 800 ، -50 ، 280 ، 10]] 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]] ، 'ms76000': []} ، // المستوى 4 {'ms50': [[3 ، 680 ، 1 ، -50 ، 10 ، 10] ، [3 ، 680 ، 1 ، -50 ، 290 ، 10]] ، 'MS2500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، "MS3500": [[1 ، 10 ، 12 ، -23 ، 190 ، 10]] ، "MS5500": [[3 ، 2 ، 100 ، -50 ، 10]] ، "MS7500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] 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] ، 'MS20000': [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': "MS35000": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، [3 ، 680 ، 1 ، -50 ، 220 ، 10]] ، 'MS45500': [[1 ، 10 ، 11 ، -23 ، 10 ، 10]] "MS42500": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، 'MS45500': [[3 ، 680 ، 1 ، -50 ، 220 ، 10]] "MS49500": [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، "MS51500": [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، "MS55500": [[3 ، 800 ، 3 ، -50 ، 90 ، 10] ، 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] -23 ، 220 ، 10]] ، 'ms76000': []} ، // المستوى 5 {'ms50': [[3 ، 680 ، 1 ، -50 ، 10] ، [3 ، 680 ، 1 ، -50 ، 290 ، 10]] ، 'MS2500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، "MS3500": [[1 ، 10 ، 12 ، -23 ، 190 ، 10]] ، "MS5500": [[3 ، 2 ، 100 ، -50 ، 10]] ، "MS7500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] 100 ، -50 ، 10]] ، 'MS11500': [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، 'MS13500': [[3 ، 800 ، 2 ، 100 ، -50 ، 10]] ، 'MS15500': [[3 ، 800 ، 3 ، -50 ، 30 ، 10] 800 ، 3 ، -50 ، 90 ، 10] ، 'MS25000': [[1 ، 10 ، 4 ، 150 ، -50 ، 10] ، [1 ، 10 ، 4 ، 250 ، 400 ، -10] ، [1 ، -10]] ، "MS35000": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، [3 ، 680 ، 1 ، -50 ، 220 ، 10]] ، 'MS38000': [[1 ، 10 ، 11 ، -23 ، 10 ، 10]] "MS42500": [[3 ، 680 ، 1 ، -50 ، 70 ، 10] ، [3 ، 680 ، 1 ، -50 ، 220 ، 10]] ، 'MS45500': [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، 'MS47500': [3 ، 800 ، 150 ، 450 ، -10] 50 ، -50 ، 10]] ، 'ms51500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، 'ms55500': [[3 ، 800 ، 3 ، -50 ، 90 ، 10] ، [3 ، 800 ، 3 ، -50 ، 280 ، 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 ، -10]] 10]] ، 'ms76000': []} ، // المستوى 6 {'ms50': [[3 ، 680 ، 1 ، -50 ، 10 ، 10] ، [3 ، 680 ، 1 ، -50 ، 290 ، 10]] ، 'MS7500': [[3 ، 680 ، 1 ، -50 ، 70 ، 10] "MS3500": [[1 ، 10 ، 12 ، -23 ، 190 ، 10]] ، "MS5500": [[3 ، 2 ، 100 ، -50 ، 10]] ، "MS7500": [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] 100 ، -50 ، 10]] ، 'ms11500': [[3 ، 800 ، 2 ، 200 ، 450 ، -10]] ، 'MS13500': [[3 ، 800 ، 2 ، 100 ، -50 ، 10]] ، 'MS15500': [[3 ، 800 ، 3 ، -50 ، 30 ، 10]] "MS15500": [[3 ، 800 ، 3 ، -50 ، 30 ، 10]] ، 'MS20000': [[3 ، 800 ، 3 ، -50 ، 90 ، 10]] ، 'MS15500': [[3 ، 800 ، 3 ، -50 ، 30 ، 10]] 10]] ، "MS35000": [[1 ، 10 ، 4 ، 150 ، -50 ، 10] ، [1 ، 10 ، 4 ، 250 ، 400 ، -10] ، [1 ، 10 ، 4 ، 100 ، 400 ، -10]] ، 'MS30000': [[3 ، 800 ، 5 ، 692 ، 90 ، -10] ، 'ms35000': 10] ، [3 ، 680 ، 1 ، -50 ، 220 ، 10]] ، 'ms42500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، 'ms49500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] 800 ، 2 ، 150 ، 450 ، -10]] ، 'MS49500': [[3 ، 800 ، 2 ، 150 ، 450 ، 450 ، -10]] ، 'ms49500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، 'MS49500': [3 ، 800 ، 150 ، 450 ، -10] 150 ، 450 ، -10]] ، 'MS49500': [[3 ، 800 ، 2 ، 50 ، -50 ، 10]] ، 'MS51500': [[3 ، 800 ، 2 ، 150 ، 450 ، -10]] ، 'MS55500': [[3 ، 800 ، 3 ، -50 ، 90 ، 10] "MS60000": [[3 ، 800 ، 3 ، -50 ، 30 ، 10]] ، "MS65000": [[1 ، 4 ، 100 ، 400 ، -10] ، [1 ، 10 ، 4 ، 300 ، -50 ، 10]] ، 'MS68000': [[3 ، 800 ، 5 ، 692 ، 110 ، 10] 'MS71000': [[1 ، 10 ، 13 ، -23 ، 220 ، 10]] ، 'MS76000': []}] ؛ // تهيئة init = function () {ft = $ ('Fighter') ؛ إعادة ضبط()؛ key_event () ؛ } // بدء تشغيل اللعبة = function () {is_clear = 0 ؛ is_protect = 0 ؛ DIP (ft.id ، 'show') ؛ Reset_fighter () ؛ Reset_pile () ؛ عملية()؛ BgSound (المستوى ، صحيح) ؛ bgChange (المستوى) ؛ Fighter_Init () ؛ } // set event key_event = function () {document.onkeydown = function (e) {var e = e || window.event ؛ var curkey = e.keycode || ه. الذي || E.charcode ؛ if (is_start == 0) {if (cheatcode.length> 12) {cheatcode.shift () ؛ } cheatcode.push (curkey) ؛ // سجل إدخال CheatCode من قبل المستخدم} if (is_start == 1 && in_array (curkey ، gamekey)) {if (ackey ackey [curkey.toString ()] = 1 ؛ . // استراحة اليسار اليمنى ؛ الحالة 38: الحالة 40: keypriority.top = curkey ؛ // أعلى استراحة. }} آخر {return false ؛ }} if (curkey == 13 || is_start == 1 && is_lock == 0) {// game start أو key = 13 switch (curkey) {case 13: // enter if (is_start == 0) {is_start = 1 ؛ DIP ('OP' ، 'Hide') ؛ msg_show () ؛ setTimeOut (function () {msg_hide () ؛ cheat () ؛ start () ؛} ، 1500) ؛ } استراحة؛ الحالة 83: // اطلاق النار لقطة () ؛ استراحة؛ القضية 65: // bomb bomb () ؛ استراحة؛ }}} document.onkeyup = function (e) {var e = e || window.event ؛ var curkey = e.keycode || ه. الذي || E.charcode ؛ if (is_start == 1 && in_array (curkey ، gamekey)) {ackey [curkey.toString ()] = 0 ؛ // مفتاح التحرير لأسفل if (curkey == 83) {// reext the Power Attack if (is_pile == 1) {pile_shot () ؛ } reset_pile () ؛ }}}} // الإجراء الذي تم تنفيذه بواسطة loop = function () {var movestep = 5 ؛ // نقل حجم الخطوة var et = setInterval (function () {if (is_start == 0 || is_lock == 1) {clearinterval (et) ؛} // move if (ackey ['37 '] == 1 && (ackey ['39'] == 0 || keypriority.lef if (getPosition (ft ، 'Left') <movestep) {setPosition (ft ، 'Left' ، 0) ؛ if (getPosition (ft ، 'top') <movestep) {setPosition (ft ، 'top' ، 0) ؛ if (400- (ft ، 'left') + 50) ||. }} // assage Attack if (ackey ['83 '] == 1) {if (pilenum <1000) {pipeline = pipelineum + 20 ؛ } آخر إذا (is_pile == 0) {is_pile = 1 ؛ if (is_protect == 1) {setClass (ft ، 'Fighter_S') ؛ } آخر {setClass (ft ، 'Fighter_S') ؛ }}}}}}}}}}} ، 20) ؛ }. var offsetx. Switch (Power) {Case 1: OffsetX = 20 ؛ استراحة؛ الحالة 2: Offsetx = 15 ؛ استراحة؛ الحالة 3: OffsetX = 10 ؛ استراحة؛ الحالة 4: OffsetX = 4 ؛ استراحة؛ } setClass (Bullet ، 'Shot' + power) ؛ // قم بتعيين الموضع الأولي من setPosition Bullet (Bullet ، "Top" ، getPosition (ft ، 'top')-30) ؛ setPosition (Bullet ، 'Left' ، getPosition (ft ، 'Left') + OffsetX) ؛ ft.parentnode.appendchild (رصاصة) ؛ // قم بتعيين حركة Bullet 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 <efeemda. إذا كانت (Imprate) (Ife (Imprict (Bullet) إذا كان (CURBOSS!) {// BOSS BATTLE (IMPACT (BULLET ، CURBOSS ['OBJ']) "TOP ')-15) ؛ setClass (PileBullet ، 'pileshot') ؛ // قم بتعيين الموضع الأولي من setPosition Bullet (PileBullet ، "Top" ، GetPosition (ft ، 'top')-30) ؛ setPosition (pilebullet ، 'Left' ، getPosition (ft ، 'Left')) ؛ ft.parentnode.appendChild (PileBullet) ؛ var et = setInterval (function () {if (getPosition (pileBullet ، 'top') <=-85 || is_lock == 1) {clearinterval (et) ؛ ft.parentnode.removechild (pileBullet) ؛ // reext the bullet} for (var i = 0 ؛ i <efeemdata.lenfence ؛ إذا كان (Implydata [i] = null) {if (effect (pilebullet ، reasedata [i]) CURBOSS ['OBJ') {// HIT the Boss Curboss ['Armor'] }. قنبلة -؛ Sethtml ('Bombnum' ، bombnum) ؛ // الانخفاض بواسطة 1 var opitated = 100 ؛ setOpacity ($ ('bomb') ، التعتيم) ؛ DIP ('bomb' ، 'show') ؛ // مسح جميع طائرات العدو ورصاص العدو is_clear = 1 ؛ // Strike Boss if (curboss! = null) {curboss ['Armor'] = parseint (curboss ['armor'])-300 ؛ } var step = 0 ؛ var et = setInterval (function () {// bomb effect if (الخطوة <11) {setBgPosition ($ ('bomb') ، 0 ، الخطوة*(-280)) ؛} else {clearinterval (et) ؛ dip ('bomb' ، 'Hide') ؛ is_bombing = 0 ؛ is_clear = 0 ؛}}}}} ، 70) ؛ }} // عملية اللعبة = function () {var leveldata = map [level-1] ، معالجتها = 0 ، الخطوة = 10 ؛ var levelstep = 0 ؛ . LevelData ['MS'+معالجة] ؛ }/* إنشاء عناصر المستوى/* msdata: {num: عدد الحوادث الفاصل الزمني: الفاصل الزمني: الفاصل: النوع: النوع الأعلى: الإحداثي الأعلى الأصلي اليسار: الخطوة الإحداثي اليسرى الأصلي: مسافة الحركة}*/create = function (msdata) {var num = msdata [0] ، vertal = msdata [1] ، type = msdata] msdata [4] ، الخطوة = msdata [5] ؛ var et = setInterval (function () {if (num> 0) {var enft = document.createElement ('div') ؛ setClass (enft ، 'element' + type) ؛ enft.type = type ؛ setPosition (enft ، 'top' ، top) ؛ setPosition (enft ، 'enft' ، left) ؛ eStRealdata.push (enft) ؛ } // element track track track = function (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 (step)) ؛ setPosition (enft ، 'left' ، getPosition (enft ، 'left')+step) ؛ count ++: (count = 0 ، step*= 1) "Top ') استراحة؛ الحالة 2: // العدد الأفقي var = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'left' ، getPosition (enft ، 'left'). && step <0 || استراحة؛ الحالة 3: // العدد العمودي var = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'top' ، getPosition (enft ، 'top')+step) ؛ count <9؟ count ++: (count = 0 ، exploy (enft ، 1،17،47)) ؛ if (getPosition (enft ، 'top') Clearinterval (et) ؛ استراحة؛ الحالة 4: // اليسار واليمين حركة الهجوم VAR COUNT = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'left' ، getPosition (enft ، 'left')+step) ؛ count <10؟ count ++: (count = 0 ، exploy (enft ، 4،17،31)) ؛ && step <0) {step*= 1 ؛ استراحة؛ الحالة 5: // الهجوم من خلف var count = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'top' ، getPosition (enft ، 'top')+step) ؛ count <9؟ count ++: (count = 0 ، earge (enft ، 1،17 ، -17)) ؛ if (getPosition (enft) Clearinterval (et) ؛ استراحة؛ الحالة 11: // Power Gift var count = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'top' ، getPosition (enft ، 'top')+math.abs (step)) ؛ setPosition (enft ، 'left' ، getPosition (enft ، 'left')+step) ؛ count ++: (count = 0 ، step*= 1) "Top ')> 640 || ClearInterval (ET) ؛ استراحة؛ الحالة 12: // قنبلة هدية var count = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'top' ، getPosition (enft ، 'top')+math.abs (step)) ؛ setPosition (enft ، 'left' ، getPosition (enft ، 'left')+step) ؛ count ++: (count = 0 ، step*= 1) "Top ')> 640 || ClearInterval (ET) ؛ استراحة؛ الحالة 13: // هدية المقاتلة var count = 0 ؛ et = setInterval (function () {if (node_exist (enft)) {setPosition (enft ، 'top' ، getPosition (enft ، 'top')+math.abs (step)) ؛ setPosition (enft ، 'left' ، getPosition (enft ، 'left')+step) ؛ count ++: (count = 0 ، step*= 1) "Top ')> 640 || ClearInterval (ET) ؛ استراحة؛ }} // تدمير تدمير = دالة (dobj) {// dobj: الكائن المدمر var dest = document.createElement ('div') ؛ setClass (القدر ، "تدمير") ؛ setPosition (dest ، 'top' ، getPosition (dobj ، 'top')) ؛ setPosition (القدر ، "اليسار" ، getPosition (dobj ، 'اليسار')) ؛ ft.parentnode.appendchild (dest) ؛ if (dobj.id == 'Fighter') {// تم ضرب المقاتل disp (dobj.id ، 'Hide') ؛ السلطة = 1 ؛ قنبلة = 3 ؛ FightNum-- ؛ Sethtml ('Fightternum' ، FightNum) ؛ Sethtml ('Bombnum' ، bombnum) ؛ is_lock = 1 ؛ } آخر {dobj.parentnode.removechild (dobj) ؛ } var step = 0 ؛ var et = setInterval (function () {if (الخطوة <11) {setBgPosition (dest ، step*(-48) ، 0) ؛ step ++ ؛} else {if (dobj.id == 'fighter') {setTimeOut (function () {if (fightternum> 0) {levelcontinue () ؛ Curboss ['obj'] } // boss war bosswar = function () {var boss = bossdata [level-1] ؛ var bossft = document.createElement ('div') ؛ setClass (Bossft ، 'Boss' + Level) ؛ setPosition (Bossft ، "Left" ، Boss ['Left']) ؛ setPosition (bossft ، 'top' ، boss ['top']) ؛ ft.parentnode.appendchild (bossft) ؛ CURBOSS = {"Armor": Boss ['Armor'] ، "OBJ": bossft} ؛ Switch (المستوى) {الحالة 1: // Boss 1 الحالة 2: // Boss 2 الحالة 3: // Boss 3 الحالة 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 ادخل setPosition (bossft ، 'top' ، getPosition (bossft ، 'top')+5) ؛} if (getPosition (bossft ، 'left')> 10) {setPosition (bossft ، 'left' ، getPosition (bossft ، 'left') } {step*=-1 ؛ COUNT 100 == 0) {HOTEPST (BOSSFT ، 30 ، 92) ؛ استراحة؛ }} / * Attack * obj Amerclaft * نوع الهجوم * Bullet اليسرى الأولية اليسرى * أعلى رصاصة أعلى أولية * / هجوم = دالة (obj ، اكتب ، يسار ، أعلى) {if (is_lock == 1) {return false ؛ // إذا كانت مغلقة ، لا تطلق النار} var oleft = getPosition (OBJ ، 'Left')+Left ؛ var top = getPosition (obj ، 'top')+top ؛ Switch (type) {case 1: // Attack at the Fighter // الموضع الأولي للرصاصة وموضع المقاتلة var oppoint = {x: oleft+7 ، y: otop+7} ؛ var dpoint = {x: getPosition (ft ، 'left')+25 ، y: getPosition (ft ، 'top')+25} ؛ var p = vector (opoint ، dpoint ، 8) ؛ Enftbullet ('bullet' ، oleft ، top ، p [0] ، p [1] ، 35) ؛ استراحة؛ الحالة 2: // هجوم مستقيم var num = 3 ؛ var st = setInterval (function () {if (num> 0) {enftbullet ('bullet' ، oleft ، top ، 0 ، 8 ، 35) ؛ num -؛} آخر {clearinterval (st) ؛}} ، 150) ؛ استراحة؛ الحالة 3: // هجوم مبعثر 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 ، 35) ؛ 85) ؛ استراحة؛ الحالة 4: // هجوم مبعثر صغير 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) ؛ case 3: enftbullet ('' ، left ، let ، let ، استراحة ؛ استراحة؛ }} / * enft bullet * type type bullet * oleft ، top bullet inial position * left ، top bullet * / enftbullet = function (type ، oleft ، top ، left ، top ، speed) {var bullet = document.createlement ('div') ؛ setClass (رصاصة ، نوع) ؛ setPosition (رصاصة ، "اليسار" ، Oleft) ؛ setPosition (Bullet ، 'Top' ، top) ؛ ft.parentnode.appendchild (رصاصة) ؛ var et = setInterval (function () {setPosition (bullet ، 'top' ، getPosition (bullet ، 'top')+top) ؛ setPosition (bullet ، 'left' ، getPosition (bullet ، 'left')+left) ؛ if (getPosition (bullet ، 'left')> 400 || GetPosition (Top ')> 640 || } // boss over boss = function () {obj = curboss ['obj'] ؛ obj.parentnode.removechild (OBJ) ؛ Scoreup (6) ؛ // Boss Score var dest = document.createElement ('div') ؛ setClass (القدر ، 'Destroyboss') ؛ setPosition (dest ، 'top' ، getPosition (obj ، 'top')) ؛ setPosition (القدر ، "اليسار" ، getPosition (OBJ ، "اليسار")) ؛ ft.parentnode.appendchild (dest) ؛ var step = 0 ؛ var et = setInterval (function () {if (الخطوة <21) {setBgPosition (dest ، step*(-150) ، 0) ؛} آخر إذا (الخطوة == 21) {dest.parentnode.removechild (dest) ؛} if (step == 50) {clearinterval (et) ؛ } // متابعة LevelContinue = function () {reset_fighter () ؛ DIP (ft.id ، 'show') ؛ setProtect () ؛ Fighter_Init () ؛ } // pass lister = function () {keyPriority = {} ؛ العدوى = [] ؛ Curboss = فارغة ؛ المستوى ++ ؛ bgSound ('pass' ، false) ؛ var معالجة = 0 ؛ var et = setInterval (function () {is_lock = 1 ؛ معالجتها = معالجتها + 15 ؛ if (getPosition (ft ، 'top')>-50) {setPosition (ft ، 'top' ، getPosition (ft ، 'top')-15) ؛} if (معالجة> = 2500) {clearinterval (et) BgChange (0) ؛ } // update scoreup = function (type) {if (typeof (scoretag [type])! = 'undefined') {score = score + scoretag [type] * level ؛ Sethtml ('Score' ، Score) ؛ if (score> hiscore) {hiscore = score ؛ Sethtml ('Hiscore' ، hiscore) ؛ }}} // ترقية bullet powerup = function () {power = power+1> 4؟ 4: السلطة+1 ؛ } // زيادة القنبلة بومبوب = وظيفة () {bombnum ++ ؛ Sethtml ('Bombnum' ، bombnum) ؛ } // Fighter زيادة المقاتلة Up = function () {fighternum ++ ؛ Sethtml ('Fightternum' ، fighternum) ؛ } // حالة الحماية setProtect = function () {is_protect = 1 ؛ if (is_pile == 1) {setClass (ft ، 'fighter_sp') ؛ } آخر {setClass (ft ، 'Fighter_P') ؛ } setTimeOut (function () {is_protect = 0 ؛ if (is_pile == 1) {setClass (ft ، 'fighter_s') ؛} else {setClass (ft ، 'fighter') ؛}} ، 3000)} // collision processing effect_handle = function (obj ، is_lock == 0) {// collision تم إنشاؤه if (is_protect == 0) {destroy (ft) ؛ ClearInterval (ET) ؛ ft.parentnode.removechild (OBJ) ؛ }}} // all خلوص gameclear = function () {is_over = 1 ؛ disp ('gameclear' ، 'show') ؛ Sethtml ('ClearCon' ، 'Game Clear' + '<br>' + 'Score:' + Score) ؛ bgSound ('clear' ، false) ؛ bgChange ('clear') ؛ setTimeOut (function () {bgSound () ؛ init () ؛} ، 16000) ؛ } // نهاية لعبة gameover = function () {is_over = 1 ؛ DIP ('Gameover' ، 'Show') ؛ Sethtml ('Overcon' ، 'المستوى:' + level + '<br>' + 'Score:' + Score) ؛ bgSound ('Over' ، false) ؛ bgChange ('Over') ؛ Failtimes ++ ؛ setTimeOut (function () {if (failtimes == 3) {Alert ('elect ↑ ↑ ← ← ← → asas ، ابدأ اللعبة مرة أخرى ، وستكون هناك مفاجآت^_^') ؛} bgSound () ؛ init () ؛} ، 8000) ؛ } // show message msg_show = function () {sethtml ('level' ، 'level -' + level) ؛ DIP ("المستوى" ، "العرض") ؛ is_lock = 1 ؛ } // إخفاء message msg_hide = function () {disp ('level' ، 'Hide') ؛ } // refet refet = function () {is_start = 0 ؛ is_bombing = 0 ؛ is_lock = 1 ؛ is_over = 0 ؛ is_clear = 0 ؛ is_protect = 0 ؛ المستوى = 1 ؛ السلطة = 1 ؛ ackey = {} ؛ keypriority = {} ؛ العدوى = [] ؛ النتيجة = 0 ؛ FightEnum = 3 ؛ قنبلة = 3 ؛ Sethtml ('Hiscore' ، hiscore) ؛ Sethtml ('Score' ، Score) ؛ Sethtml ('Fightternum' ، FightEnum) ؛ Sethtml ('Bombnum' ، bombnum) ؛ Reset_fighter () ؛ Reset_pile () ؛ disp ('op' ، 'show') ؛ DIP ('Gameover' ، 'Hide') ؛ disp ('gameclear' ، 'Hide') ؛ bgChange (0) ؛ } // إعادة تعيين موضع المقاتلة Reset_fighter = function () {setPosition (ft ، 'top' ، 640) ؛ setPosition (Ft ، 'Left' ، 175) ؛ setClass (ft ، 'Fighter') ؛ } // إعادة تعيين الشحن refet_pile = function () {is_pile = 0 ؛ pilenum = 0 ؛ if (is_protect == 1) {setClass (ft ، 'Fighter_P') ؛ } آخر {setClass (ft ، 'Fighter') ؛ }} // مقاتلة تهيئة Fighter_Init = function () {var et = setInterval (function () {if (getPosition (ft ، 'top')> 400) {setPosition (ft ، 'top' ، getPosition (ft ، 'top')-12) ؛} {clearnterval (et) ؛ active = 0 ؛ }. Sethtml ('fighternum' ، FightNum) ؛ } cheatcode = [] ؛ } // التحكم في الخلفية bgmove = function (obj) {var step = 1 ؛ var et = setInterval (function () {var bgpos = getBgposition (obj) ؛ if (bgpos ['top'] == 640) {setBgPposition (obj ، 0 ، 0) ؛ // reset} ell {setBgposition (obj ، bgpos ['left'] ، bgpos ['top'] } // تبديل الخلفية bgChange = function (file) {var obj = $ ('gameplane') ؛ setClass (OBJ ، 'Gameplane BG'+file) ؛ }. 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) ؛ } آخر {AudiOplayer (id) ؛ }} إرجاع هذا ؛}) () ؛相信本文所述对大家javascript游戏设计有一定的借鉴价值。