From d50dbb417a9eb5642b36fe23fc862dd621b3bfb5 Mon Sep 17 00:00:00 2001 From: Josh Hofing Date: Fri, 18 Jan 2013 22:38:21 -0500 Subject: [PATCH] Don't fill new grids unless we need it. Also update places where it isn't needed. --- src/Grid.java | 14 ++++++++++---- src/rules/BriansBrain.java | 2 +- src/rules/Conway.java | 2 +- src/rules/Conway4.java | 2 +- src/rules/LifeWithoutDeath.java | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/Grid.java b/src/Grid.java index 91b33f7..4b46dd4 100644 --- a/src/Grid.java +++ b/src/Grid.java @@ -9,15 +9,21 @@ public class Grid { _grid[0][0] = new Patch(this, 0, 0, 0); } - public Grid(int x, int y) { + public Grid(int x, int y, boolean fill) { _grid = new Patch[y][x]; - for (int i = 0; i < x; i++) { - for (int j = 0; j < y; j++) { - _grid[j][i] = new Patch(this, i, j, 0); + if (fill) { + for (int i = 0; i < x; i++) { + for (int j = 0; j < y; j++) { + _grid[j][i] = new Patch(this, i, j, 0); + } } } } + public Grid (int x, int y) { + this(x,y,true); + } + private int normalizeX(int x) { while (x >= getWidth()) x -= getWidth(); diff --git a/src/rules/BriansBrain.java b/src/rules/BriansBrain.java index 599ca70..6e3b19d 100644 --- a/src/rules/BriansBrain.java +++ b/src/rules/BriansBrain.java @@ -7,7 +7,7 @@ public class BriansBrain extends RuleSet { public static int states = 3; public static Grid run(Grid g) { - Grid newGrid = new Grid(g.getWidth(), g.getHeight()); + 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(); diff --git a/src/rules/Conway.java b/src/rules/Conway.java index 0221e68..579fe35 100644 --- a/src/rules/Conway.java +++ b/src/rules/Conway.java @@ -7,7 +7,7 @@ public class Conway extends RuleSet { public static int states = 2; public static Grid run (Grid g) { - Grid newGrid = new Grid(g.getWidth(), g.getHeight()); + 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(); diff --git a/src/rules/Conway4.java b/src/rules/Conway4.java index 6aab4e8..da5780a 100644 --- a/src/rules/Conway4.java +++ b/src/rules/Conway4.java @@ -8,7 +8,7 @@ public class Conway4 extends RuleSet { public static int states = 2; public static Grid run (Grid g) { - Grid newGrid = new Grid(g.getWidth(), g.getHeight()); + 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).get4Neighbors(); diff --git a/src/rules/LifeWithoutDeath.java b/src/rules/LifeWithoutDeath.java index 64112fa..aa0bb8d 100644 --- a/src/rules/LifeWithoutDeath.java +++ b/src/rules/LifeWithoutDeath.java @@ -8,7 +8,7 @@ public class LifeWithoutDeath extends RuleSet { public static int states = 2; public static Grid run (Grid g) { - Grid newGrid = new Grid(g.getWidth(), g.getHeight()); + 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();