Game of Life in C++?

1 Antwort

Klasse Field, die (...)

Ist die Klasse tatsächlich bereits gegeben? Es klingt beim Lesen doch nicht so. Also wäre das doch der beste Anfang. Wie angewiesen, benötigst du einen Konstruktor mit zwei Parametern und das Array sollte ein Feld der Klasse sein, immerhin benötigst du es später erneut.

Implementieren Sie für diese Klasse eine Funktion random(), die die Felder des Arrays zufällig mit lebenden oder toten Zellen besetzt.

Es gibt zwei Zustände: Lebendig oder tot. Die müssen mit deinem char-Typ mit zwei beliebigen Zeichen (z.B. X und O) abbildbar sein. Deine Funktion muss nun über das komplette Array laufen und bei jedem Schritt einen Zufallswert ausknobeln, der dann in X oder O ausgewertet wird. Glücklicherweise gibt es in der Standardbibliothek bereits eine Funktion namens rand, die den zweiten Schritt erledigen kann.

Geben Sie das Feld an der Konsole aus mit einer Methode print().

Das sollte klar sein. Erneut eine Funktion schreiben, die über alle Feldwerte läuft und diese auf der Konsole ausgibt. Da du ein Spielbrett vor dir hast, sollte die Ausgabe in Reihen und Spalten erfolgen. Nicht hintereinander weg.

Implementieren Sie die Regeln von Game of Life (...)

Die Regeln des Spiels werden auf Wikipedia erklärt. Schreibe dir zunächst die Funktionen heraus, die du benötigen wirst und bau dir zu diesen Skizzen und/oder Programmablaufpläne (o.ä.). Erst viel später, wenn diese Reihenfolge der einzelnen Teilschritte festgelegt ist, kann die Umsetzung in C++ erfolgen. Wenn du merkst, dass es da noch Probleme gibt, musst du einen Befehl womöglich nochmals in Teilbefehle aufsplitten. Diese Methodik (Skizzen/Programmablaufplan) lässt sich ebenfalls bei den vorherigen Punkten anwenden.

Sa392 
Fragesteller
 11.05.2020, 11:30

Danke dir für die ausführliche Erklärung. :) Die Regeln basieren auf der Urfassung, die 23/3 Welt. Ein Ablaufplan ist eine gute Idee. Ich werde mich später noch mal dran setzen.

0