Inhaltsverzeichnis:

Lass es regnen - Gunook
Lass es regnen - Gunook

Video: Lass es regnen - Gunook

Video: Lass es regnen - Gunook
Video: Die! Lass Es Regnen 2024, Juli
Anonim
Lass es regnen
Lass es regnen

Dies ist ein Spiel, das auf dem Micro:bit gespielt wird

Das Spiel heißt Rain und das Ziel ist es, nicht von den herabfallenden Gegenständen getroffen zu werden.

Entweder indem Sie sich nach links oder rechts bewegen und/oder auf die Objekte schießen.

Das Spiel wird durch die folgenden Steuerelemente gesteuert.

Shake – Startet ein neues Spiel.

A – Bewegt das Zeichen nach links.

B – Bewegt das Zeichen nach rechts.

A+B – Feuert das Projektil auf die fallenden Objekte ab.

Für jedes fallende Objekt, das vom Projektil getroffen wird, wird ein Punkt vergeben.

Wenn der Charakter von dem fallenden Gegenstand getroffen wird, verliert er ein Leben, nachdem er drei Leben verloren hat, endet das Spiel, dies wird durch das traurige Gesichtsbild und die Punktzahl angezeigt.

Jede Phase des Spiels ist in eine Reihe von Funktionen unterteilt, die im Text erläutert werden.

Die Beschreibung verwendet Blockcode und das Javascript ist ebenfalls verfügbar.

Lieferungen

Mikro:Bit

MakeCode-Editor

Schritt 1: Initialisieren

Initialisieren
Initialisieren
Initialisieren
Initialisieren
Initialisieren
Initialisieren

Die Initialisierung von Spielparametern erfolgt durch Zuweisen einer Kombination aus numerischen und booleschen Variablen.

Aufräumen des Bildschirms mit vorherigen Informationen, falls vorhanden, Zuweisen der Startposition des Waffencharakters und Geben des Benutzers Zeit, um das Micro-Bit für den Start des Spiels zu positionieren.

Es erleichtert das Verständnis des Codes, wenn den Variablen Namen gegeben werden, die auf ihre Funktion hinweisen

Zum Beispiel löst „Feuer“die „Kanone“aus, die die „Rakete“abfeuert.

Ebenso gilt, wenn endgamecount größer als 3 ist, dann ist endgame wahr.

Da sich die Pistole nur in der unteren Reihe horizontal bewegt, ist y immer 4 und die x-Variable wird geändert, um die entsprechende LED mit den Befehlen plot und unplot aufleuchten zu lassen.

Der Initialisierungsprozess wird in zwei Funktionen verwendet, On Start und On Shake.

Wie die Namen andeuten, ruft On Start Initialize am Anfang des Codes auf, um die verwendeten Variablen auf die erforderlichen Werte zu setzen.

On Shake ruft Initialize auf, wenn der Benutzer ein neues Spiel initiiert.

Dies ermöglicht dem Benutzer, das Spiel neu zu starten und die Spielparametervariablen zu initialisieren, den Bildschirm zu löschen und die Spielfigur in ihrer Startposition zu positionieren.

Schritt 2: Es regnet für immer

Es regnet für immer
Es regnet für immer

Dies ist der Teil des Spielcodes, der die fallenden Objekte zufällig generiert und die Startpositionen initialisiert, bevor sie über den Bildschirm bewegt werden.

Der Eindruck des Fallens wird durch eine Zeitverzögerung zwischen dem Ein- und Ausschalten der LED und dem Inkrementieren des Positionszählers definiert. Bei jedem Inkrementieren des Positionszählers wird überprüft, ob das fallende Objekt mit der Spielfigur kollidiert ist.

Wenn eine Kollision erkannt wird, werden bis zu drei Leben verloren, dann wird eine Benachrichtigung zum Spielende ausgegeben, der Punktestand angezeigt und die Schleife mit fallenden Objekten wird beendet.

Rainstart ist die x-Startposition dieses Zeichens, die auf dem Bildschirm durch die „for“-Schleife erhöht wird, die den Index2 für die „y“-Position ändert. Von 0 bis 4, wobei 0 oben und 4 unten ist.

Wir möchten nicht, dass der Regen so schnell fällt, dass wir ihn nicht sehen können, also fügen wir eine Verzögerung mit einer Pause hinzu.

Wenn der Regen fällt, prüft es voraus, ob es eine Kollision mit der Waffe gibt. Dies wird mit "Punkt" erreicht, der den Zustand der LED vor ihm bestimmt.

Wenn die LED vor dem Regen leuchtet, wird dies als Treffer gewertet und ein Leben ist verloren oder das Spiel ist vorbei.

Damit alles ordentlich bleibt, müssen wir die zuvor leuchtende LED entfernen, sodass der Anschein entsteht, als würde ein Regentropfen kontinuierlich fallen, ohne eine Spur zu hinterlassen.

Schritt 3: Bewegen des Waffencharakters

Bewegen des Waffencharakters
Bewegen des Waffencharakters
Bewegen des Waffencharakters
Bewegen des Waffencharakters

Es gibt zwei Eingabefunktionen, die verwendet werden, um die Pistolenfigur zu bewegen.

Dies sind Ein-Taste A gedrückt und Ein-Taste B gedrückt.

An Taste A gedrückt.

Diese Funktion bewegt die Spielfigur nach links, wenn die A-Taste gedrückt wird.

Wenn das Spiel nicht zu Ende ist und der Waffenwert innerhalb des zulässigen Bereichs liegt, wird die vorherige Position des Waffencharakters nicht angezeigt, der Waffenwert verringert und die neue Position der Waffe angezeigt.

Wenn der Pistolenwert kleiner als 0 ist, wird die Pistole bei x=0, y=4. aufgetragen

An Taste B gedrückt.

Diese Funktion bewegt die Spielfigur nach rechts, wenn die B-Taste gedrückt wird.

Wenn das Spiel noch nicht zu Ende ist und der Waffenwert innerhalb des zulässigen Bereichs liegt, wird die vorherige Position des Waffencharakters nicht angezeigt, der Waffenwert erhöht und die neue Position der Waffe angezeigt.

Wenn der Pistolenwert größer als 4 ist, wird die Pistole bei x=4, y=4. aufgetragen

Schritt 4: Starten des Projektils

Abschuss des Projektils
Abschuss des Projektils

Wir können den Waffencharakter nach links und rechts bewegen und nun muss er das Projektil auf die herabregnenden Objekte abfeuern können.

Dies ist der Teil des Spielcodes, der das Projektil generiert und die Startpositionen initialisiert, bevor es auf dem Bildschirm nach oben bewegt wird.

Der Eindruck einer Aufwärtsbewegung wird durch eine Zeitverzögerung zwischen dem Ein- und Ausschalten der LED und dem Inkrementieren des Positionszählers definiert. Bei jedem Inkrementieren des Positionszählers wird überprüft, ob das Projektil mit einem fallenden Objekt kollidiert ist.

Wenn eine Kollision erkannt wird, wird das fallende Objekt an dieser Position gelöscht, die Bewertung wird aktualisiert, die Variable für die Position des fallenden Objekts wird zurückgesetzt, die Projektilposition und der Initiator werden zurückgesetzt und die Projektilschleife wird beendet.

Wenn das Endspiel falsch ist, ist Feuer = wahr und Rakete = 4 für seine Startposition.

Es wird eine while-Schleife erstellt, die ein einzelnes oder kontinuierliches Abfeuern von Projektilen ermöglicht, während Feuer = wahr ist.

Die Raketenvariable wird von 4 (unten) über 0 (oben) bis dekrementiert

An jedem Punkt, wenn die Rakete das Display hinaufsteigt, prüft sie auf eine Kollision mit einem Regenobjekt, wenn keine Kollision erkannt wird, und das Projektil fährt weiter nach oben und vom Bildschirm weg.

Wird eine Kollision erkannt, wird das Regenobjekt nicht gezeichnet, da es nun zerstört ist, seine Variable zurückgesetzt und der Trefferzähler um 1 erhöht.

Die Rakete ist nicht gezeichnet, um den Eindruck zu erwecken, dass sie zerstört wurde.

Die Variablen für Regen, Rakete und Feuer werden zurückgesetzt.

Schritt 5: Spielende

Spielende
Spielende
Spielende
Spielende
Spielende
Spielende

Diese Funktion setzt das Endspiel-Flag, zeigt die Endspiel-Benachrichtigung und den Punktestand an und zeigt für jedes verlorene Leben die Zerstörungsexplosion an.

Die Spielende-Funktion wird für zwei Instanzen aufgerufen, wenn der Benutzer ein Leben verliert und wenn alle drei Leben abgelaufen sind, was das Ende des Spiels signalisiert.

Bei jedem Aufruf der Endofgame-Funktion wird der Endgamecount inkrementiert, bei weniger als 3 wird die Blast-Funktion aufgerufen, die die Zerstörung des Waffencharakters animiert. Die Explosionsanimation ist eine Folge sich ändernder LED-Positionen, die mit Animation die Auswirkungen der Stoßwelle anzeigen.

Während gleichzeitig der Bildschirm gelöscht wird, wird die Pistolenvariable auf die Standardstartposition zurückgesetzt und eine Pause eingelegt, bevor das Spiel erneut kommentiert wird.

Wenn endgamecount = 3 wird die Blast-Funktion aufgerufen und danach das traurige Gesicht angezeigt, das das Ende des Spiels anzeigt, gefolgt von der erzielten Punktzahl. Sobald der Punktestand gelöscht ist, können Sie das Spiel durch Schütteln des Micro:bit neu starten.

Empfohlen: