You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Moritz Neumeier f6187ef27f LifeTest first step passed 3 years ago
.idea LifeTest first step passed 3 years ago
jars Init 3 years ago
out LifeTest first step passed 3 years ago
src LifeTest first step passed 3 years ago
test LifeTest first step passed 3 years ago
.gitignore Init 3 years ago
GameOfLifeAssignment.iml LifeTest first step passed 3 years ago
GameOfLifeTDD.iml Init 3 years ago
README.md Init 3 years ago

README.md

Programmieren 3

Assignment “Game Of Life”

Einführung

Game of Life

Ihre Aufgabe ist es, eine Klasse Life zu implementieren, die das Game of Life simuliert. Beim Game of Life werden Zellen in einem zweidimensionelen Raster angeordnet. An jedem Rasterpunkt kann entweder eine lebende Zelle oder ein Leerraum positioniert werden.

Für das Entstehen, Überleben oder Absterben einer Zelle ist die Anzahl der unmittelbaren Nachbarn entscheidend. Jeder Rasterpunkt hat 8 benachbarte Rasterpunkte (links, rechts, oben, unten, oben links, oben rechts, unten links, unten rechts). Für die Berechnung der nachfolgenden Generation sind auf die aktuelle Generation folgende Regeln anzuwenden:

  • Eine neue Zelle an einem bisher unbelebten Rasterpunkt entsteht, wenn genau drei benachbarte Rasterpunkte mit lebenden Zellen besetzt sind.

  • Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit.

  • Eine lebende Zelle mit zwei oder drei lebenden Nachbarn bleibt in der Folgegeneration am Leben.

  • Lebende Zellen mit mehr als drei lebenden Nachbarn sterben in der Folgegeneration an Überbevölkerung.

Vorgaben

Im Assignment werden Ihnen drei Code-Dateien vorgegeben:

  • Life soll später den Produktivcode enthalten.
  • LifeTest soll für den Testcode benutzt werden.
  • ILife ist ein Interface, das von der Life-Klasse implementiert werden soll.

Aufgabenstellung

Implementieren Sie die Klasse Life unter Nutzung der TDD-Vorgehensweise. Erstellen Sie für die oben genannten Regeln jeweils mindestens einen Testfall (für die erste Regel wurde bereits ein Testfall mitgeliefert).