Eine Ruby-Implementierung von Conways "Spiel des Lebens" (Game of Life)
- Projektübersicht
- Funktionsweise
- Aktuelle Features
- Screenshots
- Installation & Nutzung
- Steuerung während der Simulation
- Referenzen
ca_conway ist eine dynamische Ruby-Implementierung von John Horton Conways berühmtem "Spiel des Lebens". Dieses faszinierende zelluläre Automaten-System simuliert die Entstehung komplexer evolutionärer Muster auf einem 2D-Gitter, basierend auf einfachen Nachbarschaftsregeln. Beobachten Sie, wie Leben entsteht, gedeiht und vergeht!
Das Programm modelliert ein 2D-Gitter von Zellen, die lebendig (weiß) oder tot (schwarz) sein können. Jede Generation berechnet sich nach Conways klassischen Regeln:
- Überleben: Eine lebende Zelle mit 2 oder 3 lebenden Nachbarn bleibt am Leben.
- Sterben: Eine lebende Zelle mit weniger als 2 (Unterbevölkerung) oder mehr als 3 (Überbevölkerung) lebenden Nachbarn stirbt.
- Geburt: Eine tote Zelle mit genau 3 lebenden Nachbarn wird lebendig.
- Grafische Benutzeroberfläche (GUI) mit Gosu: Visualisiert das Gitter in Echtzeit.
- Toroidale Topologie (Wrap-around-Ränder): Das Spielfeld ist wie ein Donut geformt – Zellen, die den oberen Rand verlassen, erscheinen unten wieder, und dasselbe gilt für links/rechts. Dies ermöglicht unendliche Bewegungen von Mustern wie Gleitern.
- Anpassbare Simulation Geschwindigkeit: Steuern Sie, wie schnell sich die Generationen entwickeln.
- Echtzeit-Anzeige: Zeigt die aktuelle Generationsnummer und die Anzahl der lebenden Zellen in der oberen linken Ecke an.
- Interaktive Steuerung: Klicken Sie mit der Maus auf Zellen, um deren Zustand (lebendig/tot) direkt zu ändern.
- Anpassbare Grid-Größen und Startmuster (z. B. zufällige Besiedlung).
Um dieses Projekt auszuführen, benötigen Sie Ruby und die Gosu-Bibliothek.
-
Klonen Sie das Repository:
git clone https://github.com/dein-username/ca_conway.git cd ca_conway -
Installieren Sie Gosu: Wenn Gosu noch nicht installiert ist, müssen Sie es über RubyGems installieren.
gem install gosu
-
Starten Sie die Simulation:
./run.sh start
(Hinweis: Stellen Sie sicher, dass 'game_of_life.rb', 'Cell.rb' und 'World.rb' im selben Verzeichnis liegen und
run.shausführbar ist (ggf.chmod +x run.shausführen).)
- Mausklick: Klicken Sie auf eine Zelle, um ihren Zustand (
lebendig/tot) umzuschalten. - ESC-Taste: Beendet die Anwendung.

