import generator.GeneratorStrategy;
import generator.ClearGeneratorStrategy;
class GODLModel {
private GeneratorStrategy generator = null;
GODLModel(int xSize, int ySize, RuleSet rules) {
generators.add(new ClearGeneratorStrategy());
}
public void setGenerator(GeneratorStrategy generator) {
this.generator = generator;
}
public List getGeneratorStrategies() {
return java.util.Collections.unmodifiableList(this.generators);
}
public void generate() {
if (generator == null) {
generator = new ClearGeneratorStrategy();
}
Playground newGround = new Playground(playground.getXSize(), playground.getYSize(), 0);
Iterator it = playground.iterator();
while(it.hasNext()) {
LifeForm current = (LifeForm) it.next();
newGround.set(current.getX(), current.getY(), generator.getNext(current.getX(), current.getY()));
}
this.playground = newGround;
notifyObservers();
}
}