Dieser Artikel beschreibt den Cosmic Fighter Source Code von JS Mini-Spielen und wird für Ihre Referenz mit Ihnen geteilt. Die spezifische Einführung lautet wie folgt:
1. Spieleinführung:
Dies ist ein fliegendes Schießspiel, vertikal, mit insgesamt sechs Ebenen.
2. Spielanforderungen:
1. Der Kämpfer kann Kugeln abfeuern, und die Kugeln können durch Erhalten von Requisiten verbessert werden.
2. Der Kämpfer kann in Bomben platziert werden, und die Anzahl der Requisiten kann erhöht werden.
3. Kämpfer Jets können angreifen, um anzugreifen.
4. Es gibt drei Arten von Kanälen, nämlich Upgrade -Kugeln, erhöhen die Anzahl der Bomben und erhöhen die Anzahl der Kampfflugzeuge.
5. Jedes Level hat unterschiedliche Musik.
6. Der Kampfflugzeug wird abgeschossen und tritt dann in das Schlachtfeld ein und befindet sich in einem geschützten Zustand.
7. Feind Flugzeug -AI -Design.
Das Spiel läuft wie in der Abbildung unten gezeigt:
Klicken Sie hier, um den vollständigen Beispielcode herunterzuladen.
8. JavaScript -Quellcode -Teil:
/** Kosmischer Kämpfer* Autor: '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', Bilder/'Images/' Images/BODS1.PNG ']; var callback = function () {var gameplane = $ ('gameplane'); Fighter.init (); fighter.bgmove (gameplane); } img_preload (GAMEIMG, Rückruf);};/** Fighter Class*/var fighter = (function () {var hiscore = 10000; // Die höchste Punktzahl var Score = 0; // Die aktuelle Punktzahl var Fighter = 3; // Die Anzahl der Fighter var bombnum = 3; // Die Anzahl von Bombs var ft = null; var is_bombing = 0 ist var is_lock Keypriority = {}; Schnecken Sie die Cheat-Eingänge auf var failures = 0; 'Schritt': 30}, {'Rüstung': 2500, 'links': 136, 'top':-169, 'step': 30}, {'ardour': 3000, 'links': 136, 'top':-169, 'Schritt': 30},]; // das feindliche Flugzeug, das var feindliche Feinddaten = [] erscheint; // Der Boss Var Curboss erscheint derzeit var Curboss = null; // Level data var map = [ // level 1 { 'ms50':[[3, 680, 1, -50, 10, 10],[3, 680, 1, -50, 290, 10]], 'ms2500':[[3, 800, 2, 200, 450, -10]], 'ms8000':[[1, 10, 12, -23, 190, 10]], 'MS9500': [[3, 800, 2, 200, 450, -10]], 'MS8000': [[1, 10, 11, -23, 100, 10]], 'MS9500': [[3, 800, 2, 200, 450, -10]], 'MS8000': [[1, 2, 2, 2, 23, 100, 100, 10], ',', ',', [3, 10, -23, 100, 10], ',', ',', [3, 10, -23, 10, 10], ',', ', [3, 10, -23, 10, 10],', ',', ', [3, 10, -23, 10, 10],', ',', [[3, 10, -23, 100, 10], ',', ','. -50, 10]], 'MS11500': [[3, 800, 2, 200, 450, -10]], 'MS13500': [[3, 800, 2, 100, -50, 10]], 'MS15500': [[3, 800, 3, -50, 10], 10], 'MS25000': [3, [3, 800, 3, 340, 340]], [3, 800, 3, 3, 340, 340], [3, 800, 3, 3, 340, 340], [3, 800, 3, 3, 340, 340]. 'ms20000':[[3, 800, 3, -50, 90, 10]], 'ms25000':[[1, 10, 4, 150, -50, 280, 10]], 'ms25000':[[1, 10, 4, 150, -50, 280, 10]], 'ms25000':[[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],[3, 800, 5, 692, 280, -10]], 'ms35000':[[3, 680, 1, -50, 70, 10],[3, 680, 1, -50, 220, 10]], '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, 1, 1, 1, 1, 1, (220, 1020, 10]] 'ms45500':[[3, 800, 2, 150, 450, -10]], 'ms49500':[[3, 800, 2, 50, -50, 10]], 'ms51500':[[3, 800, 2, 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, -50, 280, 10]], 'ms60000':[[3, 800, 3, -50, 30, 10]], 'ms65000':[[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, 5, 692, 260, -10]], 'ms71000':[[1, 10, 13, -23, 220, 10]], 'MS76000': []}, // Stufe 2 {'MS50': [[3, 680, 1, -50, 10, 10], [3, 680, 1, -50, 290, 10]], 'MS2500': [3, 680, 1, -50, 70, 10], [3, 680, 1, 1, 1, 1, 1, 1, 1, 1, 220, 220, '] 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, -50, 340, 10, 10, 10, 10, ',', 'MS20000'. 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]], 'MS35000': [3, [3, 800, 800, 800, 800, 90, 'Ms35000': [3, 800, 800, 90, 'Ms35000 -10]], 'ms35000':[[3, 680, 1, -50, 70, 10],[3, 680, 1, -50, 220, 10]], 'ms45500':[[1, 10, 11, -23, 10, 10]], 'ms45500':[[1, 10, 4, 100, 400, -10],[1, 10, 4, 300, -50, 10]], 'ms42500':[[3, 680, 1, -50, 70, 10], 'ms45500':[[3, 680, 1, -50, 70, 10]], 'ms45500':[[3, 800, 2, 50, -50, 10]], 'ms47500':[[3, 800, 2, 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, [3, [3, [3), [3, [3), [3, 800, 3, 3, 30, 30, 10], 10, [3, [3, 800, 3, 3, 30, 30, 10]], [3, [3, 800, 3, 3, 30, 30, 10], 10, ': [3, [3, 800, 3), 10, 10, 10], [3, [3, 800, 3, 3, 30, 30, 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, 13, -220, 10], 10, 10, 1020, 1020, 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, 10, 10, 10, 223, 223, 223], 190] 'MS5500': [[3, 800, 2, 100, -50, 10]], 'MS7500': [[3, 800, 2, 200, 450, -10]], 'MS8000': [[1, 10, 11, -23, 100, 10]], 'MS9500': [3, 800, 100, 100, -50, 10], ',',: [3, 800, 100, -, -50, 10], ',', ',', ', 10, 10],', ': [3, 800, 100, -50, 10],', ',': [3, 800, 100, -50, 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':[[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], [3, 800, 5, 692, 280, -10]], 'MS35000': [3, 680, 1, -50, -50, 70, 10, 10, 10, 10, 220, -50, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, –50, –50, –50. 10]], 'MS38000': [[1, 10, 11, -23, 10, 10]], 'MS40000': [[1, 10, 4, 100, 400, -10], [1, 10, 4, 300, -50, 10]], 'MS42500': [3, 800, 2, 50, -50, 2, 2, 2, 2, 2], 'MS42500', 'MS42500', [3, 2, 2, 2, 2, 2, 2, 2, 2], 'MS42500'. 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, 800, 2, 150, 450, -10]], 'MS55500': [[3, 800, 2, 50, -50, 10]], 'MS51500': [[3, 800, 2, 150, 450, -10]], 'MS55500': [[3, 800, 3, -50, 90, 10], [3, 800, 3, -50, 280, 280, 10], 'MS60000': 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, 220, -10,]]]]] 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, 1, -50, 220, 10]], 'MS3500': [[1, 10, 12, -23, 190, 10]], 'MS5500': [[3, 800, 2, 100, -50, 10]], 'MS7500': [[3, 800, 2, 200, 450, -10], 'MS13500, MS13500, [3, 800, 2, 2, 100, -, - -10], 10], 10], 10, 10], 10], 10, 10], 10], 10, 10], 10], 10, 10], 10], 10, 10], 10, 10], 10], 10, 10], 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10], 10, 10, 10], [3, [3, 2, 2, 2, 10, 10], 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, 90, 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], MS35000 ': [3, 800, 5, 5, 692, 90,: [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800, 5, 5, 692, 90, [3, 800. 'ms35000':[[3, 680, 1, -50, 70, 10],[3, 680, 1, -50, 220, 10]], 'ms45500':[[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], 'MS45500': [[3, 680, 1, -50, 220, 10], 'MS45500': [[3, 800, 2, 50, -50, 10], 'MS47500': [3, 800, 2, 2, 2, 2, 150, 450], [3, 800, 2, 2, 150, 450], [3, 800, 2, 2, 150, 450], [3, 800, 2, 2, 150, 450], [3, 800, 2, 2, 150, 450]. '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':[[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, 5, 692, 260, -10]], 'ms71000':[[1, 10, 13, -23, 220, 10]], 'ms76000':[] }, // level 5 { 'ms50':[[3, 680, 1, -50, 10],[3, 680, 1, -50, 290, 10]], 'ms2500':[[3, 680, 1, -50, 70, 10],[3, 680, 1, -50, 220, 10]], '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, -50, 340, 10]], 'ms20000':[[3, 800, 3, -50, 90, 10], 'ms25000':[[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],[3, 800, 5, 692, 280, -10]], 'MS35000': [[3, 680, 1, -50, 70, 10], [3, 680, 1, -50, 220, 10], 'MS38000': [[1, 10, 11, -23, 10, 10]], 'MS40000 ° C. 'ms42500':[[3, 680, 1, -50, 70, 10],[3, 680, 1, -50, 220, 10]], 'ms45500':[[3, 800, 2, 50, -50, 10]], 'ms47500':[[3, 800, 2, 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, -50, 280, 10]], 'ms60000':[[3, 800, 3, -50, 30, 10],[3, 800, 3, -50, 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, 220, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -[22. 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, 1, -50, 220, 10]], '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, 10, 10], 'Ms15500': [3, 800, 3, 3, 90], 'MS20000', ': [3, 800, 3, 3, 3, 10, 10, 10,', ': [3, 800, 3, 3, 3, 10, 10, 10],', ': [3, 800, 3, 3, 3, 10, 10, 10],', ': [3, 800, 3, 3, 3, 10, 10, 10],': [3, 800, 3, 3, 3, 10, 10, 10]. 'ms15500':[[3, 800, 3, -50, 30, 10]], 'ms20000':[[3, 800, 3, -50, 90, 10]], 'ms15500':[[3, 800, 3, -50, 30, 10]], 'ms20000':[[3, 800, 3, -50, 90, 10],[3, 800, 3, -50, 280, 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':[[3, 680, 1, -50, 70, 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, 2, 2, 2, 2, 450, 450, -10]], [3, [3, 800, 2, 2, 450, 450]], –10]. 800, 2, 150, 450, -10]], 'ms49500':[[3, 800, 2, 150, 450, -10]], 'ms49500':[[3, 800, 2, 150, 450, -10]], 'ms49500':[[3, 800, 2, 150, 450, -10]], 'ms49500':[[3, 800, 2, 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, -50, 280, 10]], '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, 5, 692, 260, -10]], 'MS71000': [[1, 10, 13, -23, 220, 10]], 'MS76000': []}]; // initialisieren init = function () {ft = $ ('Fighter'); zurücksetzen(); Key_Event (); } // starten Sie das Spiel start = function () {is_clear = 0; is_protect = 0; disp (ft.id, 'show'); reset_fighter (); reset_pile (); Verfahren(); bgSound (Level, wahr); BGChange (Level); fighter_init (); } // Ereignisstaste key_event = function () {document.onkeydown = function (e) {var e = e || Fenster.Event; var curkey = e.keycode || e. was || E. charcode; if (is_start == 0) {if (CheatCode.length> 12) {CheatCode.shift (); } CheatCode.push (Curkey); // Die CheatCode -Eingabe durch den Benutzer} if (is_start == 1 && in_array (Curkey, GameKey)) {if (ackey [curkey.toString ()] == 0 || typeof (ackey [curkey.toString ()] == 'Undefinierte' ||! ackey [curkey.tostring ()] = 1; // Key Down Switch (Curkey) {Fall 37: Fall 39: keyPriority.left = curkey; // linke rechte Pause; Fall 38: Fall 40: Schlüsselpriorität.Top = Curkey; // nach oben Pause; }} else {return false; }} if (curkey == 13 || is_start == 1 && is_lock == 0) {// game is start oder key = 13 switch (curkey) {case 13: // eingeben if (is_start == 0) {is_start = 1; disp ('op', 'hide'); msg_show (); setTimeout (function () {msg_hide (); Cheat (); start ();}, 1500); } brechen; Fall 83: // Shooting Shot (); brechen; Fall 65: // bomb bomb (); brechen; }}} document.onkeyUp = Funktion (e) {var e = e || Fenster.Event; var curkey = e.keycode || e. was || E. charcode; if (is_start == 1 && in_array (curkey, gameKey)) {ackey [curkey.toString ()] = 0; // Taste Down veröffentlichen if (curkey == 83) {// den Power Attack if (is_pile == 1) {Pile_shot () freigeben; } reset_pile (); }}}} // Aktion, die von Loop = function () {var bezugstep = 5 ausgeführt wird; // Schrittgröße verschieben var et = setInterval (function () {if (is_start == 0 || is_lock == 1) {ClearInterval (et);} // Move if (ackey ['37 '] == 1 && (ackey ['39'] == 0 || Keypriority.left == 37) {// Priority in Konfliktlichkeit in Konflikte in Konflikte in Konflikte in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in der Konfliktion in Konflikt if (GetPosition (ft, links ') <bewegung) {setPosition (ft, links', 0); if (GetPosition (ft, top ') <bewegung) {setPosition (ft,' top ', 0); if (400- (GetPosition (ft, links ') + 50) <beweglich) {SetPosition (ft, links', 350); ||. }} // Angriff aufladen if (ackey ['83 '] == 1) {if (pilenum <1000) {pipeline = pipelineum + 20; } else if (is_pile == 0) {is_pile = 1; if (is_protect == 1) {setClass (ft, 'fighter_s'); } else {setClass (ft, 'fighter_s'); }}}}}}}}}}}, 20); } // Fighter Shooting Shot = function () {// Bullet var bullet = document.createelement ('div'); var Offsetx; Switch (Power) {Fall 1: OffsetX = 20; brechen; Fall 2: OffsetX = 15; brechen; Fall 3: OffsetX = 10; brechen; Fall 4: OffsetX = 4; brechen; } setClass (Bullet, 'Shot' + Power); // Setzen Sie die Anfangsposition der Kugel-SetPosition (Bullet, 'Top', GetPosition (ft, 'top')-30); SetPosition (Bullet, 'links', GetPosition (ft, 'links') + offsetx); ft.parentnode.appendchild (Bullet); // Setzen Sie die Bullet Motion var et = setInterval (function () {if (getPosition (Bullet, 'Top') <=-30 || is_lock == 1) {ClearInterval (et); if (fegedata [i]! if (Curboss! 'Top')-15); SetClass (Pilebullet, 'Pileshot'); // Setzen Sie die Anfangsposition der Kugel-SetPosition (Pilebullet, 'Top', GetPosition (ft, 'top')-30); SetPosition (Pilebullet, 'links', GetPosition (ft, 'links')); ft.Parentnode.AppendChild (Pilebullet); var et = setInterval (function () {if (getPosition (Pilebullet, 'top') <=-85 || is_lock == 1) {ClearInterval (et); if (fegedata [i]! Curboss ['obj']) {// den Boss Curboss ['Rüstung'] = ParseInt (Curboss ['Rüstung']-100; } // Bomb bomb = function () {if (is_bombing == 0 && bombnum> 0) {// nicht in der Explosion und es gibt Bombenzahl is_bombing = 1; Bombnum -; Sethtml ('Bombnum', Bombnum); // Dekrementierung durch 1 var opazität = 100; Setopazität ($ ('Bomb'), Deckkraft); disp ('bomb', 'show'); // Alle feindlichen Flugzeuge und feindlichen Kugeln löschen is_clear = 1; // Strike Boss if (Curboss! } var Schritt = 0; var et = setInterval (function () {// bomb effect if (Schritt <11) {setBgPosition ($ ('bomb'), 0, Schritt*(-280));} else {clearInterval (et); Disp ('bomb', 'hide'); is_bombing = 0; is_clear = 0;} Schritt ++;}, 70); }} // Spielprozess prozess = function () {var LevelData = map [Level-1], processed = 0, Schritt = 10; var Levelstep = 0; // 0 für jede Ebene var et = setInterval (function () {if (is_lock == 0) {verarbeitet+= Schritt; if (attrCount (LevelData)> Levelstep) {// Dieses Level wurde nicht abgeschlossen, wenn (LevelData ['ms'+verarbeitet] {für (var i = 0; Leveldata ['MS'+verarbeitet] [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], Schritt = msdata [5]; var et = setInterval (function () {if (num> 0) {var enft = document.createelement ('div'); setClass (enft, 'element' + type); enft.type = type; type; setPosition (enft, 'top', ober); setPosition (enft, links); fegedata.push (eNFT); } // Element Motion Track Route = Funktion (eNFT, Typ, Schritt) {var et = null; Switch (Typ) {Fall 1: // Kurve var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top')+math.abs (Schritt); 'Top')> 640 ||. brechen; Fall 2: // Horizontal var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'links', GetPosition (enft, 'links'); && Schritt <0 || brechen; Fall 3: // vertikale var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top'); ClearInterval (ET); brechen; Fall 4: // linke und rechte Schleifenbewegung Angriff var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'links', GetPosition (enft, 'links'); && Schritt <0) {Schritt*=-1; brechen; Fall 5: // Angriff hinter var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top')+step); count <9? count ++: (count = 0, Angriff (Enft, 1,17, -17)); if (Getposition (1 | ClearInterval (ET); brechen; Fall 11: // Power Gift var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top')+math.abs (Schritt); 'Top')> 640 ||. ClearInterval (ET);}}, 80); brechen; Fall 12: // Bombengeschenk var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top')+math.abs (Schritt); 'Top')> 640 ||. ClearInterval (ET);}}, 80); brechen; Fall 13: // Fighter Geschenk var count = 0; et = setInterval (function () {if (node_exist (enft)) {setPosition (enft, 'top', GetPosition (enft, 'top')+math.abs (Schritt); 'Top')> 640 ||. ClearInterval (ET);}}, 80); brechen; }} // Destroy Destroy = Funktion (dobj) {// dobj: Das zerstörte Objekt var dest = document.createelement ('div'); SetClass (Dest, 'Destroy'); SetPosition (Dest, 'Top', GetPosition (dobj, 'top'); SetPosition (Dest, 'links', GetPosition (dobj, 'links'); ft.parentnode.appendchild (dest); if (dobj.id == 'Fighter') {// Der Kämpfer wurde disp (dobj.id, 'hide'); Macht = 1; Bombnum = 3; Fightnum--; Sethtml ('FightTternum', Fightnum); Sethtml ('Bombnum', Bombnum); is_lock = 1; } else {dobj.parentnode.removechild (dobj); } var Schritt = 0; var et = setInterval (function () {if (Schritt <11) {setBgPosition (dest, Schritt*(-48), 0); Schritt ++;} else {if (dobj.id == 'fighter') {setTimeout (function () {if (fightTernum> 0) {) {) {) {) {if} {if (curboss! Curboss ['obj']; } // Boss War bosswar = function () {var boss = bosseData [Level-1]; var bosseft = document.createelement ('div'); setClass (Bossft, 'Boss' + Level); SetPosition (Bossft, 'links', Boss ['links']); SetPosition (Bossft, 'Top', Boss ['Top']); ft.parentnode.appendchild (Bossft); Curboss = {"Rüstung": Boss ['Rüstung'], "obj": bossft}; Switch (Level) {Fall 1: // Boss 1 Fall 2: // Boss 2 Fall 3: // Boss 3 Fall 4: // Boss 4 Fall 5: // Boss 5 Fall 6: // Boss 6 var Step = -3; var count = 0; var et = setInterval (function () {if (getPosition (bossft, 'top') <50) {// Boss Enter setPosition (Bossft, 'top', GetPosition (BOSSFT, 'TOP')+5);} else {if (curboss ['ardour'] <= 0) {// boss over clearinterval (et); if (GetPosition (Bossft, links ') {SetPosition (BOSSFT,' links ', GetPosition (Bossft,' links '); } else {step*=-1; count%100 == 0) {Angriff (Bossft, 60, 92); brechen; }} / * Angriff * OBJ Enemy Aircraft * Typ Angriffstyp * Linkes Bullet Initial Links * Top Bullet Initial Top * / Angriff = Funktion (OBJ, Typ, links, oben) {if (is_lock == 1) {return false; // Wenn gesperrt, schießen Sie nicht} var oleft = GetPosition (obj, 'links')+links; var top = GetPosition (OBJ, 'Top')+Top; Switch (Typ) {Fall 1: // Angriff auf den Kämpfer // Die Anfangsposition der Kugel und die Position des Kämpfers var oppoint = {x: Oleft+7, y: otop+7}; var dpoint = {x: getPosition (ft, 'links')+25, y: GetPosition (ft, 'top')+25}; var p = vector (opoint, dpoint, 8); Enftbullet ('Bullet', Oleft, Top, P [0], P [1], 35); brechen; Fall 2: // Gerade Angriff var num = 3; var st = setInterval (function () {if (num> 0) {enftbullet ('bullet', oleft, top, 0, 8, 35); num -;} else {ClearInterval (st);}}, 150); brechen; Fall 3: // Streuangriff var num = 3; var st = setInterval (function () {if (num> 0) {switch (num) {case 1: enftbullet ('sbullet', Oleft, top, 0, 8, 35); Break; Fall 2: Enftbullet ('Sbullet', Oleft, Topop, 3, 8, 35); 8, 35); brechen; Fall 4: // Small Scatter Attack var num = 3; var st = setInterval (function () {if (num> 0) {switch (num) {case 1: enftbullet ('bullet', Oleft, topop, 0, 8, 35); Break; Fall 2: Enftbullet ('Bullet', Oleft, Top, 3, 8, 35); break;} num -; brechen; }} / * ENFT -Bullet * Typ Bullet Type * Oleft, obere Bullet -Anfangsposition * links, obere Kugel * Geschwindigkeit * / enftbullet = Funktion (Typ, Oleft, oben, links, ober, Geschwindigkeit) {var bullet = document.createelement ('div'); setClass (Bullet, Typ); SetPosition (Bullet, 'links', Oleft); SetPosition (Bullet, 'Top', Top); ft.parentnode.appendchild (Bullet); var et = setInterval (function () {setPosition (Bullet, 'Top', GetPosition (Bullet, 'Top')+Top); SetPosition (Bullet, 'links', GetPosition (Bullet, 'links'+links); if (Getposition (Getposition (Bullet, 'links')> 400 || Getposition (Bullet, 'links') <-30 | | GetPosition (Bullet, Top ')> 640 || } // Boss Over boss = function () {obj = curboss ['obj']; obj.parentnode.removechild (obj); Scoreup (6); // Boss Score var dest = document.createelement ('div'); setClass (destell, 'destroyBoss'); SetPosition (Dest, 'Top', GetPosition (obj, 'top'); SetPosition (Dest, 'links', GetPosition (obj, 'links'); ft.parentnode.appendchild (dest); var Schritt = 0; var et = setInterval (function () {if (Schritt <21) {setBgPosition (dest, step*(-150), 0);} else if (Schritt == 21) {dest.parentnode.removeChild (dest);} else if (Schritt == 50) {clearInterval (et); } // Fortsetzung LevelContinue = function () {reset_fighter (); disp (ft.id, 'show'); setProtect (); fighter_init (); } // Pegel Level Level = function () {keyPriority = {}; fegedata = []; Curboss = null; Ebene ++; BGSound ('Pass', falsch); var verarbeitet = 0; var et = setInterval (function () {is_lock = 1; verarbeitet = verarbeitet + 15; if (getPosition (ft, 'top')>-50) {setPosition (ft, 'top', getPosition (ft, 'top')-15); BGChange (0); } // aktualisieren coreup = function (type) {if (typeof (scoretag [type])! Sethtml ('Score', Score); if (Score> Hiscore) {Hiscore = Score; Sethtml ('Hiscore', Hiscore); }}} // Bullet Upgrade powerup = function () {power = power+1> 4? 4: Kraft+1; } // Bombenerhöhung bombop = function () {bombnum ++; Sethtml ('Bombnum', Bombnum); } // Fighter erhöhen Fighter up = function () {Fighternum ++; Sethtml ('Fightternum', Fighternum); } // Schutzstatus 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) {// Kollision generiert if (is_protect == 0) {destroy (ft); ClearInterval (ET); ft.parentnode.removechild (obj); }}} // alle Clearance gameclear = function () {is_over = 1; disp ('gameclear', 'show'); Sethtml ('ClearCon', 'Game Clear' + '<br>' + 'Score:' + Score); bgSound ("klar", falsch); bgChange ("klar"); setTimeout (function () {bgSound (); init ();}, 16000); } // Ende des Spiels gameover = function () {is_over = 1; Disp ('GameOver', 'Show'); Sethtml ('Overcon', 'Level:' + Level + '<br>' + 'Score:' + Score); BGSound ('Over', falsch); BgChange ('Over'); FailTimes ++; setTimeout (function () {if (failTimes == 3) {alert ('eingeben ↑ ↓ ← → ← → asas, starten Sie das Spiel erneut, und es wird Überraschungen geben^_^');} bgSound (); init ();}, 8000); } // Message msg_show = function () {Sethtml ('Level', 'Level -' + Level); Disp ('Level', 'Show'); is_lock = 1; } // Nachricht ausblenden mess msg_hide = function () {disp ('stufe', 'hide'); } // Reset reset = function () {is_start = 0; is_bombing = 0; is_lock = 1; is_over = 0; is_clear = 0; is_protect = 0; Level = 1; Macht = 1; ackey = {}; keyPriority = {}; fegedata = []; Punktzahl = 0; FightNum = 3; Bombnum = 3; Sethtml ('Hiscore', Hiscore); Sethtml ('Score', Score); Sethtml ('Fightternum', FightNum); Sethtml ('Bombnum', Bombnum); reset_fighter (); reset_pile (); disp ('op', 'show'); disp ('gameover', 'hide'); disp ('gameclear', 'hide'); bgChange (0); } // Fighter Position reset_fighter = function () {setPosition (ft, 'top', 640) zurücksetzen; SetPosition (ft, 'links', 175); setClass (ft, 'kämpfer'); } // Ladung Reset reset_pile = function () {is_pile = 0; Pilenum = 0; if (is_protect == 1) {setClass (ft, 'fighter_p'); } else {setClass (ft, 'Fighter'); }} // Fighter Initialisierung fighter_init = function () {var et = setInterval (function () {if (getPosition (ft, 'top')> 400) {setPosition (ft, 'top', getPosition (ft, 'top')-12);} else {clearinterval (et); } // geheime Fähigkeiten 30 Life Cheat = Funktion () {if (Cheatcode.join (',') == '38,38,40,40,37,39,37,39,65,83,65,83,13') {Fightenum = 30; Sethtml ('Fighternum', FightNum); } CheatCode = []; } // Hintergrundkontrolle bgmove = function (obj) {var secape = 1; var et = setInterval (function () {var bgpos = getbgPosition (obj); if (bgpos ['top'] == 640) {setBgPosition (OBJ, 0, 0); // Reset} else {setBgPosition (obj, bgpos ['], bgpos [' top '; } // Hintergrundschalter bgChange = Funktion (Datei) {var obj = $ ('gameplane'); setClass (OBJ, 'Gameplane BG'+Datei); } // Music Control 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); }} return this;}) ();相信本文所述对大家javascript游戏设计有一定的借鉴价值。