diff --git a/src/rules/BriansBrain.java b/src/rules/BriansBrain.java index 6e3b19d..e1c644b 100644 --- a/src/rules/BriansBrain.java +++ b/src/rules/BriansBrain.java @@ -10,15 +10,16 @@ public class BriansBrain extends RuleSet { Grid newGrid = new Grid(g.getWidth(), g.getHeight(), false); for (int i = 0; i < g.getWidth(); i++) { for (int j = 0; j < g.getHeight(); j++) { - Patch[] neighbors = g.getPatch(i, j).get8Neighbors(); - int numAlive = 0; - for (Patch neighbor : neighbors) - if (neighbor.getState() == 2) numAlive++; Patch orig = g.getPatch(i, j); Patch p = g.getPatch(i, j).clone(newGrid); - if (orig.getState() == 0 && numAlive == 2) p.setState(2); if (orig.getState() == 1) p.setState(0); // Dying cells die. - if (orig.getState() == 2) p.setState(1); // Make living cells dying. + else if (orig.getState() == 2) p.setState(1); // Make living cells dying. + else { + int numAlive = 0; + for (Patch neighbor : orig.get8Neighbors()) + if (neighbor.getState() == 2) numAlive++; + if (orig.getState() == 0 && numAlive == 2) p.setState(2); + } newGrid.setPatch(i,j,p); } }