diff --git a/out/production/GameOfLifeAssignment/Life.class b/out/production/GameOfLifeAssignment/Life.class index d0084a2..dfb5eab 100644 Binary files a/out/production/GameOfLifeAssignment/Life.class and b/out/production/GameOfLifeAssignment/Life.class differ diff --git a/out/test/GameOfLifeAssignment/LifeTest.class b/out/test/GameOfLifeAssignment/LifeTest.class index 72dfc8e..be7bbcf 100644 Binary files a/out/test/GameOfLifeAssignment/LifeTest.class and b/out/test/GameOfLifeAssignment/LifeTest.class differ diff --git a/src/Life.java b/src/Life.java index 53b91c7..8553f16 100644 --- a/src/Life.java +++ b/src/Life.java @@ -52,11 +52,12 @@ public class Life implements ILife { for (int y = 0; y < grid.length; y++) { for (int x = 0; x < grid[y].length; x++) { - if (countAliveNeighbours(x, y) == 3) { + // Refactoring: vermeide zwei fast identische Codeblöcke (if-Abfragen) + if (countAliveNeighbours(x, y) == 3 || countAliveNeighbours(x, y) == 2) { next.setAlive(x, y); - } else if (countAliveNeighbours(x, y) == 2) { - next.setAlive(x, y); - } else if (countAliveNeighbours(x, y) < 2 || countAliveNeighbours(x, y) > 3) { + } + // Refactoring: zuvor gesetzte Bedingungen machen weitere Überprüfungen redundant + else { next.setDead(x, y); } }