Spiel-Engine

Verfügbar

1. Schreiben Sie Ihr erstes Spiel auf einer Spiel-Engine

Bei der Implementierung eines Computerspiels gibt es drei Phasen:

  1. Initialisierung des Spiels. Dazu gehören verschiedene vorbereitende Aktionen: das Festlegen der Größe des Spielfelds und das Zeichnen, das Erstellen und Aufstellen von Spielobjekten an ihrer Ausgangsposition sowie alle anderen Aktionen, die zu Beginn des Spiels durchgeführt werden müssen.
  2. Das Spiel spielen. Dies kann das Bewegen von Spielobjekten, Spieleraktionen, das Zählen der erzielten Punkte sowie alle anderen Aktionen umfassen, die in regelmäßigen Abständen oder als Reaktion auf Tastenklicks und Tastendrücke ausgeführt werden müssen.
  3. Das Spiel beenden. Dazu können das Stoppen von Animationen, eine Gewinn-/Verlierermeldung und alle anderen Aktionen gehören, die am Ende des Spiels ausgeführt werden müssen.

Wir werden nun alle drei Phasen der Reihe nach durchgehen und sehen, wie die CodeGym-Spiel-Engine dazu beitragen kann, diesen Prozess zu vereinfachen.


2. Initialisierung des Spiels

Wenn Sie die CodeGym-Spiel-Engine verwenden, besteht die Spielinitialisierung aus nur zwei Schritten:

Schritt 1: Erstellen Sie die Hauptklasse des Spiels

Um Ihr eigenes Spiel auf Basis der CodeGym-Spiel-Engine zu erstellen, müssen Sie eine Klasse erstellen und dafür sorgen, dass diese die Game-Klasse erweitert (com.codegym.engine.cell.Game). Dadurch erhält Ihre Klasse die Möglichkeit, Methoden auf der Spiel-Engine aufzurufen , und die Engine kann Methoden Ihrer Klasse aufrufen . Beispiel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Schritt 2: Überschreiben Sie die initialize()Methode

In der initialize()Methode führen Sie alle Aktionen aus, die zum Starten des Spiels erforderlich sind: Erstellen des Spielfelds, Erstellen aller Spielobjekte usw. Sie müssen diese Methode lediglich in der Klasse deklarieren, die die Game-Klasse erbt. Beispiel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  @Override
  public void initialize() {
     // Here we perform all the actions to initialize the game and its objects
  }
}

Die initialize()Methode ist analog zur main()Methode. Es ist der Einstiegspunkt, von dem aus die Ausführung Ihres gesamten Spielcodes beginnt.



3. Das Spielfeld erstellen

Das Erstellen des Spielfelds ist ebenfalls ein zweistufiger Prozess:

Schritt 1: Teilen Sie das Spielfeld in Zellen auf

Die Spiel-Engine unterteilt das gesamte Spielfeld in Zellen. Die Mindestgröße beträgt 3×3 und die Höchstgröße 100×100.

Die Größe des Spielfeldes ist nach der Erstellung konstant. Die horizontalen und vertikalen Abmessungen müssen nicht gleich sein. Zum Beispiel eine Breite von 7 und eine Höhe von 9:

Bitte beachten Sie, dass die Zellennummerierung in der oberen linken Ecke beginnt.

Um die Größe des Spielfeldes festzulegen, verwenden Sie die void setScreenSize(int width, int height)Methode. Es legt die Größe des Spielfeldes fest. Seine Parameter sind die Anzahl der Zellen in der horizontalen ( width) und vertikalen ( height) Dimension. Es wird normalerweise einmal zu Beginn des Spiels aufgerufen. Beispiel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
   @Override    public void initialize()
   {
      // Set the field size to 7x9 cells
      setScreenSize(7, 9);
      ...
   }
}

Wenn Sie ein Spiel schreiben, müssen Sie möglicherweise die aktuelle Breite und Höhe des Spielfelds ermitteln. Die entsprechenden Methoden sind int getScreenWidth()und int getScreenHeight().

Schritt 2: Gitter ein-/ausschalten (optional)

Wenn Ihnen ein schwarzes Gitter nicht gefällt, das die Zellen Ihres Spielfelds trennt, können Sie es deaktivieren.

Die void showGrid(boolean isShow)Methode aktiviert/deaktiviert das Gitter, das die Zellen trennt. Das Raster wird standardmäßig angezeigt. Um es zu deaktivieren, rufen Sie diese Methode auf und übergeben Sie sie falseals Argument:

showGrid(false);

Ergebnis:

Um das Gitter wieder einzuschalten, rufen Sie die Methode wie folgt auf:

showGrid(true);

Ergebnis:



4. Primitives Programm

Schreiben wir ein sehr einfaches Spiel, das die CodeGym-Spiel-Engine verwendet. Es wird drei Dinge tun:

  1. Dadurch wird das Spielfeld in 9 Zellen unterteilt: 3×3
  2. Dadurch wird das Raster (die Linien zwischen den Zellen) deaktiviert.
  3. Die mittlere Zelle wird blau angestrichen und der Buchstabe Xwird darin geschrieben.

Der endgültige Code sieht so aus:

public class MySuperGame extends Game
{
   @Override
   public void initialize()
   {
      // Create a 3x3 playing field
      setScreenSize(3, 3);
      // Disable displaying the grid
      showGrid(false);
      // Change the background of the central cell to blue and display "X" in it
      setCellValueEx(1, 1, Color.BLUE, "Х", Color.ORANGE, 50);
   }
}

In diesem Beispiel ist das Spielfeld auf 3x3 eingestellt, das Raster ist ausgeschaltet und ein orangefarbener Buchstabe Xauf halber Zellenhöhe wird in die mittlere Zelle mit blauem Hintergrund eingefügt. Dies ist das Erste, was der Spieler sieht, wenn das Spiel beginnt.


Kommentare
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Auf dieser Seite gibt es noch keine Kommentare