Zum Hauptinhalt springen

So erstellen Sie eine Schlange auf Android: eine detaillierte Anleitung

Snake ist eines der beliebtesten Arcade-Spiele aller Zeiten. Sein einfaches und einzigartiges Gameplay zieht Spieler verschiedener Altersgruppen an. Wenn Sie lernen möchten, wie Sie Ihre eigene Schlange auf der Android-Plattform erstellen können, dann ist dieser Leitfaden speziell für Sie.

Sie können Java oder Kotlin, zwei beliebte Programmiersprachen für diese Plattform, verwenden, um eine Schlange auf Android zu erstellen. Die Wahl der Sprache hängt von Ihren Vorlieben und Erfahrungen in der Programmierung ab. In diesem Leitfaden werden wir die Kotlin-Sprache verwenden, da sie moderner und benutzerfreundlicher für die Entwicklung von Android-Anwendungen ist.

Bevor Sie mit der Codierung beginnen, benötigen Sie eine Entwicklungsumgebung (IDE) für Android. Es wird empfohlen, Android Studio zu verwenden, die offizielle IDE von Google, um Android-Apps zu entwickeln. Es bietet alle Werkzeuge und Bibliotheken, die Sie benötigen, um qualitativ hochwertige Anwendungen zu erstellen.

Anmerkung: bevor Sie ein Snake-Spiel erstellen, ist es wichtig, eine grundlegende Vorstellung von Android-Komponenten wie Aktivität, Layouts, Ansichten und der grundlegenden Syntax der Kotlin-Sprache zu haben. Dies hilft Ihnen, den kurzen Code besser zu verstehen und die folgenden Schritte leichter zu befolgen.

Schritt 1: Beginnen Sie mit der Entwicklung

Bevor Sie mit der Entwicklung einer Schlange auf Android beginnen, müssen Sie die richtigen Werkzeuge installieren. Sie benötigen:

  1. Installieren Sie das Java Development Kit (JDK) auf Ihrem Computer.
  2. Installieren Sie Android Studio, eine integrierte Entwicklungsumgebung für Android.
  3. Erstellen Sie ein neues Projekt in Android Studio.

Nach der Installation und Konfiguration der erforderlichen Werkzeuge sind Sie bereit, mit der Entwicklung Ihrer Schlange zu beginnen. Es ist wichtig, die grundlegenden Konzepte für die Entwicklung von Android-Anwendungen wie Komponenten, Lebenszyklus und Benutzeroberfläche zu kennen.

Beginnen Sie allmählich, grundlegende Elemente der Schlange zu erstellen, wie zum Beispiel das Spielgitter, die Schlange und die Steuerung. Vergessen Sie auch nicht, Animationen, Soundeffekte und Spielregeln zu erstellen.

Sie müssen Java verwenden, um die Geschäftslogik Ihres Spiels zu entwickeln, und XML, um die Benutzeroberfläche zu beschreiben. Legen Sie die richtigen Erweiterungen und Projekteinstellungen fest, um die richtige Plattform für den Start Ihres Spiels zu erhalten.

Sobald die Entwicklung abgeschlossen ist, können Sie Ihr Spiel auf einem Emulator oder einem echten Gerät testen. Stellen Sie sicher, dass alle Elemente ordnungsgemäß funktionieren und nach Ihren Vorstellungen aussehen.

In den folgenden Abschnitten werden wir uns jeden Schritt der Schlangenentwicklung auf Android genauer ansehen. Sind Sie bereit zu beginnen?

Schritt 2: Erstellen eines Spielfensters

Nachdem wir das Projekt eingerichtet und die erforderlichen Bibliotheken hinzugefügt haben, können wir mit der Erstellung des Spielfensters beginnen. In diesem Schritt verwenden wir die Klasse SurfaceView so zeigen Sie Grafiken auf dem Bildschirm Ihres Android-Geräts an.

Zuerst erstellen wir eine neue Klasse GameView, die von der Klasse erben wird SurfaceView. Wir werden diese Klasse verwenden, um Spielobjekte anzuzeigen und Benutzereingaben zu verarbeiten.

Um zu beginnen, fügen wir der Klasse den folgenden Code hinzu GameView:

public class GameView extends SurfaceView implements SurfaceHolder.Callback @Overridepublic void surfaceCreated(SurfaceHolder holder) @Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) @Overridepublic void surfaceDestroyed(SurfaceHolder holder)>>

In diesem Code initialisieren wir das Objekt GameThread und fügen Sie einen Ereignishandler für hinzu SurfaceHolder. Beim Erstellen des Surface rufen wir dann die Methode auf start() Objekts gameThread um den Spielfluss zu starten. Wenn das Surface zerstört wird, stoppen wir den Stream und warten darauf, dass er beendet wird.

Jetzt fügen wir der Klasse Code hinzu MainActivity, um ein Objekt zu erstellen und anzuzeigen GameView:

public class MainActivity extends AppCompatActivity // . >

Jetzt, wenn wir die App starten, sollten wir das Spielfenster sehen, obwohl es zu diesem Zeitpunkt leer ist. In den nächsten Schritten werden wir Grafiken und Spiellogik hinzufügen, um ein komplettes Snake-Spiel auf Android zu erstellen.

Schritt 3: Implementieren der Schlangenbewegung

Jetzt ist es an der Zeit, unserem Spielbrett eine Schlangenbewegung hinzuzufügen. Wir werden das Android-Framework verwenden, um Benutzeraktionen zu behandeln und den Spielstatus zu aktualisieren.

Zunächst benötigen wir die folgenden Variablen, um den Zustand der Schlange zu speichern:

  • ArrayList snake - Eine Liste von Punkten, die die Elemente einer Schlange darstellen.
  • int direction ist eine Variable zum Speichern der Bewegungsrichtung der Schlange (0 - nach oben, 1 - nach rechts, 2 - nach unten, 3 - nach links).
  • boolean gameOver - Ein Flag, das angibt, ob das Spiel beendet ist.

Zuerst fügen wir Methoden hinzu, um die Bewegung der Schlange zu steuern. Erstellen Sie eine updateDirection() -Methode, die auf Benutzeraktionen (z. B. Tastatureingaben) wartet und den Wert der direction-Variablen entsprechend diesen Aktionen aktualisiert.

Fügen Sie außerdem die updateSnake() -Methode hinzu, die die Position jedes Schlangenelements bei jedem Schritt des Spiels aktualisiert, abhängig von der aktuellen Richtung.

Schließlich erstellen wir eine checkCollision() -Methode, die überprüft, ob eine Schlange mit einer Wand oder einem eigenen Körper kollidiert, und den gameOver-Flagwert auf true setzen, wenn dies der Fall ist.

Jetzt können wir diese Methoden in unserem Hauptspielzyklus aufrufen, um den Zustand der Schlange bei jedem Schritt des Spiels zu aktualisieren.

So haben wir die grundlegende Logik der Schlangenbewegung in unserem Spiel implementiert. Es bleibt jedoch noch viel Arbeit übrig, um das Spiel interessant zu machen und zusätzliche Funktionen hinzuzufügen, wie zum Beispiel die Länge der Schlange beim Essen zu erhöhen.

Im nächsten Abschnitt werden wir uns ansehen, wie Sie dem Spielfeld Steuerelemente hinzufügen und Schlangenfutter erstellen.

Schritt 4: Schlangenfutter generieren

In diesem Schritt werden wir herausfinden, wie man Nahrung für eine Schlange erzeugt. Das Essen wird in Form von Äpfeln präsentiert, die an zufälligen Stellen auf dem Spielfeld erscheinen.

Um eine Mahlzeit zu generieren, müssen wir die Funktion generateFoodPosition() verwenden. In dieser Funktion wählen wir eine zufällige Position auf dem Spielfeld aus, die zur Position des Apfels wird.

Fügen Sie zunächst den folgenden Code innerhalb der onCreate() -Methode hinzu :

private void generateFoodPosition() 

Hier verwenden wir die Random-Klasse, um Zufallszahlen zu generieren. Wir definieren die maximalen maxX- und maxY-Werte für die Essenskoordinaten, die nicht außerhalb des Spielfeldes liegen dürfen.

Dann verwenden wir die nextInt() -Methode der Random-Klasse, um zufällige Koordinaten für eine Mahlzeit im Bereich von 1 bis maxX und 1 bis maxY auszuwählen . Danach erstellen wir ein neues Positionsobjekt mit diesen Koordinaten und weisen es der foodPosition-Variablen zu.

Um diese Funktion zu verwenden und eine Mahlzeit für die Schlange zu erstellen, fügen Sie den folgenden Code innerhalb der update() -Methode hinzu :

if (snakePosition.equals(foodPosition))

Hier überprüfen wir, ob die aktuelle Position der Schlange gleich der Position des Essens ist, was bedeutet, dass die Schlange einen Apfel gegessen hat. In diesem Fall erhöhen wir die Länge der Schlange um 1, rufen die Funktion generateFoodPosition() auf, um eine neue Lebensmittelposition zu erstellen, erhöhen den Score-Zähler um 10 und aktualisieren das Textfeld der Zählung.

Jetzt können Sie die App starten und sehen, dass nach jedem gefressenen Apfel die Schlangenlänge zunimmt und das Essen an einem neuen zufälligen Ort erzeugt wird.

Im nächsten Schritt werden wir uns ansehen, wie wir mit der Kollision einer Schlange mit sich selbst umgehen können.

Schritt 5: Umgang mit Kollisionen

Um unsere Schlange interessanter zu machen, müssen wir die Kollisionsverarbeitung hinzufügen. An diesem Punkt, wenn eine Schlange in sich selbst stürzt oder außerhalb des Spielfeldes liegt, wird das Spiel einfach ohne Nachricht beendet.

Wir können jedoch eine Logik hinzufügen, die es Uns ermöglicht zu bestimmen, was genau zu einer Kollision geführt hat, und dieses Ereignis entsprechend behandeln. Zum Beispiel, wenn eine Schlange in sich selbst stürzt, können wir die Bewegung der Schlange stoppen und eine Verlustmeldung ausgeben.

Dazu verwenden wir Methoden aus der Snake-Klasse, die wir bereits in den vorherigen Schritten erstellt haben:

public boolean checkCollision()

// überprüfen Sie die Kollision des Kopfes der Schlange mit ihrem Körper

if (snakeParts.get(i).x == snakeParts.get(0).x && snakeParts.get(i).y == snakeParts.get(0).y)

// überprüfen Sie die Kollision des Kopfes der Schlange mit den Grenzen des Spielfeldes