Die Idee des "Game of Life" gibt es schon lange. Life wurde vom Mathematiker John Conway 1970 erfunden. Die Grundidee ist, dass jede Zelle acht Nachbarn hat, d.h. es liegt eine in viele kleine Quadrate eingeteilte Fläche vor. Folgende Regeln sind definiert, die festlegen, wann eine Zelle lebendig wird, lebendig bleibt und stirbt:
- Hat eine tote Zelle genau 3 lebendige Nachbarn, wird sie in der nächsten Generation lebendig, andernfalls bleibt sie tot.
- Hat eine lebendige Zelle genau 2 oder genau 3 lebendige Nachbarn, bleibt sie lebendig, andernfalls stirbt sie, also bei 0, 1, 4, 5, 6, 7 oder 8 Nachbarn.
Game of Life ist also kein Spiel im herkömmlichen Sinn. Es gibt keine Spieler und somit keine Gewinner oder Verlierer. Lediglich eine Startsituation ist nötig, den Rest gestalten die Spielregeln.
Inhaltsverzeichnis
- 1. Programmidee
- 2. Lösungsvorschlag
- Neue Zufallsverteilung
- 3. Quelltextdokumentation
- Globale Variablen
- Prozeduren und Funktionen
- Anhang: Programmcode
Zielsetzung und Themenschwerpunkte
Das Ziel dieser Programmierarbeit ist die Umsetzung des klassischen Spiels "Game of Life" in einer grafischen Benutzeroberfläche. Das Programm soll die Lebenszyklen von Zellen in einem zweidimensionalen Gitter simulieren, basierend auf den Regeln von John Conway.
- Implementierung des „Game of Life“ Algorithmus
- Grafische Darstellung der Zellzustände
- Benutzerinteraktion zur Manipulation der Zellen
- Statistische Analyse der Zellentwicklungen
- Einsatz von Timerfunktionen für dynamische Simulationen
Zusammenfassung der Kapitel
1. Programmidee
Die Idee des "Game of Life" basiert auf den von John Conway 1970 entwickelten Regeln. Die Regeln definieren das Leben und Sterben von Zellen in einem Gitter, basierend auf der Anzahl der lebendigen Nachbarzellen.
2. Lösungsvorschlag
Die Implementierung des Spiels erfolgt durch ein zweidimensionales Array, in dem jede Zelle als lebendig (1) oder tot (0) gespeichert wird. Die "UpdateZelle"-Funktion berechnet den neuen Status einer Zelle basierend auf den Nachbarzellen. Das Programm ermöglicht die interaktive Manipulation von Zellen mit der Maus und die Generierung von zufälligen Verteilungen von Lebewesen. Eine Timerfunktion ermöglicht die automatische Simulation von Generationenfolgen. Die Geschwindigkeit der Simulation kann vom Benutzer angepasst werden.
3. Quelltextdokumentation
Der Abschnitt behandelt die wichtigen Variablen, Prozeduren und Funktionen des Programms. Die wichtigsten Variablen umfassen „generation", „ueberlebt", „geboren", „gestorben", welche die statistischen Daten der Zellentwicklungen speichern. Der Abschnitt beschreibt außerdem die relevanten Prozeduren und Funktionen, z.B. „FuegeLWein", „EntferneLW", „LoescheSpielfeld", „UpdateZelle", „InitSpielfeld", „UpdateSpielfeld", „ZeichneSpielfeld" und „ZaehleNachbarn".
Schlüsselwörter
Game of Life, Conway, Zellenautomata, Simulation, Algorithmus, Zellstatus, Nachbarzellen, Grafische Benutzeroberfläche, Timerfunktion, Mausinteraktion, Statistik, Zufallsverteilung, Programmcode.
- Quote paper
- Anonym (Author), 2007, Programmierung Game of Life, Munich, GRIN Verlag, https://www.grin.com/document/80004