diff --git a/src/backend/Simulator.java b/src/backend/Simulator.java index 8cbb0b1..795a360 100644 --- a/src/backend/Simulator.java +++ b/src/backend/Simulator.java @@ -11,8 +11,8 @@ public class Simulator extends Thread { private MyInterface mjf; - private final int COL_NUM = 100; - private final int LINE_NUM = 100; + private int COL_NUM = 100; + private int LINE_NUM = 100; private final int LIFE_TYPE_NUM = 4; //Conway Radius : 1 private final int LIFE_AREA_RADIUS = 1; @@ -66,14 +66,6 @@ public class Simulator extends Thread { return LINE_NUM; } - public int[] getBirthRulesArray() { - return this.birthRulesArray; - } - - public int[] getSurvivalRulesArray() { - return this.survivalRulesArray; - } - public void loadRule(ArrayList row) { String surviveRulesRow = row.get(0); String[] surviveCells = surviveRulesRow.split(";"); @@ -101,11 +93,17 @@ public class Simulator extends Thread { survivalRulesArray[x] = value; } //determines the number of alive neighboring cells needed to survive, and places them in the surviveCells list - } + } } + public int[] getBirthRulesArray() { + return this.birthRulesArray; + } + public int[] getSurvivalRulesArray() { + return this.survivalRulesArray; + } //Should probably stay as is @@ -156,11 +154,27 @@ public class Simulator extends Thread { } - /*public void setWorld(int[][] world, int width, int height) { + public void setWorld(int[][] world, int width, int height) { this.world = world; this.COL_NUM = width; this.LINE_NUM = height; - }*/ + } + + private boolean shouldSurvive(int aliveNeighbors) { + for (int value : getSurvivalRulesArray()) { + if ( value == aliveNeighbors) { + return true; + } + }return false; + } + + private boolean shouldBeBorn(int aliveNeighbors) { + for(int value : getBirthRulesArray()) { + if (value == aliveNeighbors) { + return true; + } + }return false; + } @@ -205,19 +219,18 @@ public class Simulator extends Thread { for (int y = 0; y < getHeight(); y++) { int aliveNeighbors = countAliveNeighbors(x, y); if (getCell(x, y) == 1) { - //newWorld[x][y] = shouldSurvive(aliveNeighbors) ? 1 : 0; + newWorld[x][y] = shouldSurvive(aliveNeighbors) ? 1 : 0; } else { - //newWorld[x][y] = shouldBeBorn(aliveNeighbors) ? 1 : 0; + newWorld[x][y] = shouldBeBorn(aliveNeighbors) ? 1 : 0; } } } - //setWorld(newWorld, getWidth(), getHeight()); + setWorld(newWorld, getWidth(), getHeight()); } - - //world = newWorld; +