NextMindAnmelden

Dein Spiel

Spielgerüst

Der Rahmen für dein eigenes Spiel in der Processing-IDE — Menü, Spiel und Game Over sauber getrennt.

Sinnvoll ab Kapitel 3 — dort lernst du das if, das hier die ganze Arbeit macht.

Die Idee: ein Zustand nach dem anderen

Jedes Spiel ist immer in genau einem Zustand. Du bist im Menü, oder du spielst, oder es ist vorbei — nie in zweien gleichzeitig. Genau das bildet der Rahmen ab:

  zustand = 0        zustand = 1        zustand = 2
      Menü    ──Taste──▶   Spiel   ──Taste──▶  Game Over
        ▲                                          │
        └───────────────── Taste ──────────────────┘

Dafür genügt eine einzige Zahl: zustand ist 0, 1 oder 2. draw() zeichnet selbst nichts mehr, sondern ruft nur die Funktion zum aktuellen Zustand auf. So bleibt jede Funktion klein, und du suchst Fehler an einer Stelle statt in einem 300-Zeilen-Block.

Jeder Zustand schreibt hier nur einen Satz auf den Bildschirm — mehr soll das Gerüst nicht. Was daraus wird, baust du selbst hinein.

So sieht es aus

Klick ins Bild und drück eine Taste: Menü → Spiel → Game Over → wieder Menü. Mehr macht es noch nicht.

BeispielDas Spielgerüst, fertig lauffähig

In Tabs aufteilen

Alle Tabs gehören weiterhin zu einem Programm und teilen sich Variablen und Funktionen — du musst also nichts weiter beachten. Nur findest du „das mit dem Game Over“ sofort.

  1. Sketch anlegen und speichern (Strg + S).
  2. Neuen Tab anlegen: rechts neben den Tabs auf das kleine Dreieck klicken → New Tab. Oder Strg + Umschalt + N.
  3. Namen eingeben: Menue, Spiel, GameOver. Ohne Umlaute und ohne Leerzeichen, und nicht mit einer Ziffer beginnen.
  4. Den jeweiligen Block unten hineinkopieren.

Wichtig: setup(), draw() und keyPressed() darf es nur einmal geben, im ersten Tab. Auch jede andere Funktion steht nur in einem Tab — sonst meldet Processing beim Start einen Fehler.

Erster Tabheißt wie dein Sketch — Zustand, setup(), draw()
// Der Zustand des Spiels - eine einzige Zahl:
//   0 = Menü
//   1 = Spiel läuft
//   2 = Game Over
int zustand = 0;

void setup() {
  size(600, 400);
  textAlign(CENTER, CENTER);
  textSize(20);
}

// draw() zeichnet selbst nichts. Es entscheidet nur, WER zeichnen darf.
void draw() {
  background(250);
  fill(40);

  if (zustand == 0) {
    menue();
  } else if (zustand == 1) {
    spiel();
  } else {
    gameOver();
  }
}

// Eine Taste schaltet weiter: 0 -> 1 -> 2 -> und wieder 0.
void keyPressed() {
  zustand = zustand + 1;
  if (zustand > 2) {
    zustand = 0;
  }
}
MenueStartbildschirm
// Der Startbildschirm.

void menue() {
  text("Drücke eine Taste, um das Spiel zu starten", width / 2, height / 2);
}
Spielhier entsteht dein Spiel
// Hier entsteht dein eigentliches Spiel.

void spiel() {
  text("Hier läuft dein Spiel", width / 2, height / 2 - 20);
  text("Drücke eine Taste, um das Spiel zu beenden", width / 2, height / 2 + 20);
}
GameOverAbschlussbildschirm
// Der Abschlussbildschirm.

void gameOver() {
  text("Game Over", width / 2, height / 2 - 20);
  text("Drücke eine Taste, um ins Menü zu kommen", width / 2, height / 2 + 20);
}

Und jetzt?

Ersetze den Satz in spiel() durch dein Spielfeld aus Kapitel 1 und die beweglichen Teile aus Kapitel 2. Statt „Taste drücken“ setzt du dann deine eigene Regel ein, wannzustand auf 2 springt — bei dir vielleicht:

Wo dein fertiges Spiel hinkommt: Der Sketch bleibt in deinem Processing-Ordner und wird am Ende als ZIP abgegeben — dort, wo deine Lehrkraft es sagt. Hier im Kurs speicherst du nur die kleinen Übungslösungen. Ein ganzer Sketch-Ordner mit Bildern und Tönen gehört nicht hierher.