|
|
@@ -4,13 +4,30 @@ import edu.stuy.goldfish.Grid; |
|
|
|
import edu.stuy.goldfish.Patch; |
|
|
|
|
|
|
|
public class Conway implements RuleSet { |
|
|
|
|
|
|
|
public Conway () { |
|
|
|
Patch p = new Patch(); |
|
|
|
} |
|
|
|
states = 2; |
|
|
|
|
|
|
|
@Override |
|
|
|
public static Grid run (Grid g) { |
|
|
|
return g; //TODO: do stuff. |
|
|
|
Grid newGrid = new Grid(g.getWidth(), g.getHeight()); |
|
|
|
for (int i = 0; i < g.getWidth(); i++) { |
|
|
|
for (int j = 0; j < j.getHeight(); j++) { |
|
|
|
Patch[] neighbors = g.getPatch(i, j).get8Neighbors(); |
|
|
|
int numAlive = 0; |
|
|
|
for (Patch p : neighbors) |
|
|
|
if (p.getState() == 1) numAlive++; |
|
|
|
Patch p = g.getPatch(i,j).clone(); |
|
|
|
if (numAlive < 2) { |
|
|
|
p.setState(0); //Dies by underpopulation |
|
|
|
} |
|
|
|
if (numAlive > 3) { |
|
|
|
p.setState(0); //Dies by overpopulation |
|
|
|
} |
|
|
|
if (numAlive == 3) |
|
|
|
p.setState(1); //Born with 3 neighbors. |
|
|
|
newGrid.setPatch(i,j,p); |
|
|
|
} |
|
|
|
} |
|
|
|
return newGrid; |
|
|
|
} |
|
|
|
|
|
|
|
} |