s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Hauptprogramm

Warum ein Hauptprogramm?

Bisher musst du dein Spielfeld jedes Mal von Hand erzeugen und show() aufrufen. Das ist auf Dauer lästig - und sobald du BlueJ schließt, ist alles wieder weg. Deshalb schreibst du ein Hauptprogramm, das genau diese Schritte als Code enthält.

Das Hauptprogramm ausfüllen

Im Projekt gibt es dafür schon die Datei Main. Öffne sie mit einem Doppelklick - sie ist bisher leer:

fun main() {
    // Hier entsteht dein Hauptprogramm.
}

Ersetze den Kommentar durch die beiden Zeilen, die du bisher von Hand gemacht hast: ein Spielfeld erzeugen und es anzeigen.

fun main() {
    val welt = Spielfeld()
    welt.show()
}

Das Spielfeld wird mit Spielfeld() erzeugt und in der Variablen welt gemerkt. Die Tiere musst du hier nicht mehr anlegen - das erledigt ja schon der init-Block deines Spielfelds.

Das Hauptprogramm starten

Kompiliere und führe das Hauptprogramm per Rechtsklick auf Main und Auswahl von main() aus. Das Spielfenster erscheint mit den Tieren, und mit dem Start-Knopf läuft das Spiel los.

Praktisch ist jetzt auch der Reset-Knopf im Spielfenster: Er ruft dein main() einfach erneut auf und baut damit die Ausgangssituation wieder auf.

TODO Screenshot: main im Rechtsklick-Menü der Datei Main ausführen. Dateiname z.B. runMain.png.

Eine Entwurfsentscheidung

Du hättest die Tiere auch anders anlegen können: nicht im init-Block des Spielfelds, sondern hier im Hauptprogramm mit welt.addObject(Ausreisser(), 50, 50). Beides funktioniert - es ist eine Entwurfsentscheidung.

Im init steht: "Ein Spielfeld hat immer Tiere darauf" - das gehört dann zum Spielfeld selbst. Im Hauptprogramm steht dagegen: "Für dieses eine Spiel stellen wir das Feld so zusammen." Das ist flexibler, wenn du später verschiedene Spielvarianten aufbauen willst.

Aufgabe

  1. Fülle die Datei Main aus, kompiliere sie und führe main() aus.
  2. Probiere den Reset-Knopf aus. Was passiert?
  3. Verlege die Tiere probeweise aus dem init-Block in das Hauptprogramm. Vergleiche beide Varianten und entscheide dich für eine.

Suche

v
100.123.2.2.5 Hauptprogramm
Kopieren durch Anklicken

Rückmeldung geben