Prof. Dr. Franz Schweiggert -- Sektion Angewandte
Informationsverarbeitung -- 4. Februar 1999
Dr. Andreas Borchert Blatt 12
Ingo Melzer
[c]
Allgemeine Informatik I (WS 1998/99)
Abgabetermin 03. Februar 1999
Dieses Spiel wird in einer Kästchenlandschaft (kariertes Papier) gespielt.
Jedes Feld hat daher acht Nachbarn. Zusätzlich hat jedes Feld zwei
Zustände: frei oder besetzt. Nun schlägt die Evolution zu, für jede
neue Generation (also die nächste Spielrunde) gilt für jedes Feld:
- Hatte ein besetztes Feld maximal einen Nachbarn, so stirbt der
Einwohner an Einsamkeit.
- Hatte ein besetztes Feld mehr als drei Nachbarn, so stirbt der
Einwohner wegen Überbevölkerung.
- Hatte ein leeres Feld genau drei Nachbarn, so können wir das Wunder
der Geburt erleben. Es entsteht ein neuer Einwohner auf diesem Feld.
- In allen anderen Fällen bleibt der Status des Feldes unverändert.
Es gibt zwei verschiedene Varianten dieses Spiels. Entweder spielt sich
alles in einer Ebene ab, am Rand wird also abgeschnitten, oder auf einem
Torus (einem Ring oder Donut), es geht also links raus und rechts wieder
rein, bzw. oben raus und unten wieder rein. Dies sollte über das
Argument -b gesteuert werden können. Zusätzlich sollte auch
-q wieder für eine schrittweise Ausgabe sorgen. Nutzen Sie bitte
MainWin
, um eine schönere Ausgabe zu erhalten.
Tips:
- Für MainWin
, die Eingabe, die Argumente und einen
Teil der Datenstrukturen empfiehlt sich ein Blick auf die Lösung des
letzten Blattes.
- Sie finden einige Beispielwelten im
FTP-Verzeichnis der Vorlesung
.
- Eine nette Beispielimplementierung gibt es unter
http://www.bitstorm.org/gameoflife/
.
- Lesen Sie als erstes die Welt in ein Array ein.
- Prüfen Sie, ob die Darstellung auf dem Bildschirm möglich ist.
- Spielen Sie mir Ihrem Programm, es macht wirklich Spaß.
Ingo Melzer
2/4/1999