Hauptprogramm
Den Startzustand definieren
Momentan musst du das Spielfeld von Hand erzeugen und anzeigen.
Das ist auf Dauer mühsam.
Um dies zu ändern, schreiben wir ein Hauptprogramm.
Im Projekt gibt es dafür die Datei Main
mit der bisher leeren Funktion main().
fun main() {
// Der Code zum Starten des Spiels kommt hier hinein.
}
Aufgabe 1
Ergänze main() so, dass ein Spielfeld-Objekt
erzeugt und anschließend angezeigt wird. Kompiliere und führe
main() per Rechtsklick auf Main aus.
Probiere den Reset-Knopf im Spielfenster aus. Beschreibe, was passiert.
Hilfe zum Starten des Spiels
Du brauchst die beiden Anweisungen, die du bisher von Hand ausgeführt
hast: zuerst ein Spielfeld-Objekt erzeugen und in einer
Variablen speichern, dann dessen Methode show() aufrufen.
Mehr Hilfe zum Starten des Spiels
Ergänze die fehlenden Teile des Hauptprogramms.
fun main() {
§§val§§ welt = §§Spielfeld()§§
welt.§§show()§§
}
Tiere im Spielfeld oder im Hauptprogramm?
Die Tiere entstehen bisher im init-Block des Spielfelds.
Der init-Block sagt damit:
„Ein Spielfeld hat immer Tiere darauf.“
Das Erzeugen der Tiere gehört dann zum Spielfeld selbst.
Sie können auch im Hauptprogramm ergänzt werden, zum Beispiel mit
welt.addObject(Ausreisser(), 50, 50).
Die Definition im Hauptprogramm sagt dagegen:
„Für dieses eine Spiel stellen wir das Feld so zusammen.“
Beides sind legitime Lösungen.
In der Softwareentwicklung gibt es sehr oft alternative Lösungen,
die nicht unbedingt besser oder schlechter sind, sondern
einfach unterschiedliche Dinge ausdrücken.
Man spricht dann von einer Entwurfsentscheidung.
Aufgabe 2
init-Block in das
Hauptprogramm. Vergleiche beide Varianten und entscheide dich
begründet für eine.