public class BasicGrid implements Grid { public BasicGrid(int width, int height, List cells, Color defaultCellColor) public int getWidth() public int getHeight() public Cell get(int x, int y) public void set(int x, int y, Color c) public void insert(Cell c) public void remove(Cell c) public Grid copy() } public class BasicNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) } public class Cell extends Polygon { public Cell(Color color, int x, int y) public void colorCell(Color color) public Color getColor() public int getX() public int getY() public void setX(int newX) public void setY(int newY) public Cell copy() } public class CellPredator extends Cell { public CellPredator(Color c, int x, int y, int energyStart) public void loseEnergy() public void eat(int energyRegained) public boolean getAlive() public void age() public void resetAge() public boolean canRespawn(int threshold) } public class CellPrey extends Cell { public CellPrey(Color c, int x, int y) public void setEaten() public boolean getAlive() public void age() public void resetAge() public boolean canRespawn(int threshold) } public class CellRPS extends Cell { public CellRPS(Color color, int x, int y) public CellRPS(Color color, int x, int y, int lv) public void advLevel() public void regLevel() public boolean getAlive() public int getLevel() } public class CellSugar extends Cell { public CellSugar(Color color, int x, int y) public CellSugar(Color color, int x, int y, int cap) public int getAmount() public int getCap() public void growBack() public int getEaten() } public class CellSugarAgent extends Cell { public CellSugarAgent(Color color, int x, int y) public CellSugarAgent(Color color, int x, int y, int met, int vis) public void eat(int amt) public int getVision() } public abstract class CellTransformer { public abstract Shape toPolygon(Cell cell, double scaleX, double scaleY, int xOffset, int yOffset); } public class CellTransformerHex extends CellTransformer { public Shape toPolygon(Cell cell, double scaleX, double scaleY, int xOffset, int yOffset) } public class CellTransformerRect extends CellTransformer { public Shape toPolygon(Cell cell, double scaleX, double scaleY, int xOffset, int yOffset) } public class CellTransformerTriangle extends CellTransformer { public Shape toPolygon(Cell cell, double scaleX, double scaleY, int xOffset, int yOffset) public Shape toPolygon(Cell cell, double scaleX, double scaleY, boolean invert, int xOffset, int yOffset) } public class ConwayXMLHelper extends XMLHelper { public Grid getGrid(NodeList dims, List cells) public Map getStates() public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public class CustomNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) public List getNeighbors(Grid g, Cell c, String specs) public List getCorners(int x, int y, int number) public List getEdges(int x, int y, int number) public List getKnight(int x, int y, int number) public List getAdjacent(int x, int y, int number) public void addToNeighbs(Grid g, List neighbors, List poss) } public class ExtendedNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) public List getNeighbors(Grid g, Cell c, int vision) } public class Factory extends UserInterface{ public static Button setButton(int x, int y, int size_x, int size_y, String text) public static Label setLabel(int x, int y, String text) public static TextField setTextField(int x, int y, int size_x, int size_y) public static Alert setAlert(String header, String content) public static LineChart setLineChart(int xVal, int yVal, int size_x, int size_y) public static Slider setSizeSlider(int x, int y, double min, double max, double start) public static ChoiceBox setChoiceBox(int x, int y, int size_x, int size_y) public static FileChooser setFileChooser(String title, String directory, String file_names, String file_type) } public class FireXMLHelper extends XMLHelper { public Grid getGrid(NodeList dims, List cells) public Map getStates() public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public interface Grid { public int getWidth(); public int getHeight(); public Cell get(int x, int y); public void set(int x, int y, Color c); public void insert(Cell c); public void remove(Cell c); public Grid copy(); } public class HexNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) } public class Main extends Application { public void start (Stage primaryStage) throws Exception } public interface Neighborhood { public List getNeighbors(Grid g, Cell c); } public class NonDiagNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) } public class ParseXML { public ParseXML(String type) public Simulation getSimulation(File dataFile) throws XMLException } public class RPSXMLHelper extends XMLHelper{ public Map getStates() public Grid getGrid(NodeList dims, List cells) public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public class Runner extends Main { } public class SegregationXMLHelper extends XMLHelper { public Grid getGrid(NodeList dims, List cells) public Map getStates() public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public abstract class Simulation { public static final List SUPPORTED_TYPES = Arrays.asList(new String[] public Simulation(Grid g, Neighborhood nType) public Grid update() public void setNeighborhood(Neighborhood newN) public Map getStates() public Map getStatesNumbers() public Grid getGrid() } public class SimulationConway extends Simulation { public SimulationConway(Grid g, Neighborhood nType) } public class SimulationFire extends Simulation { public SimulationFire(Grid g, Neighborhood nType, double prob) } public class SimulationRPS extends Simulation { public SimulationRPS(Grid g, Neighborhood nType) public Grid update() } public class SimulationSegregation extends Simulation { public SimulationSegregation(Grid g, Neighborhood nType, double satisfied) public Grid update() } public class SimulationSugar extends Simulation { public SimulationSugar(Grid g, Neighborhood nType, int numAgents) public Grid update() public int distance(Cell c, Cell other) } public class SimulationWaTor extends Simulation { public SimulationWaTor(Grid g, Neighborhood nType, int prey_breed_age, int pred_breed_age, int pred_energy, int pred_regain_energy) public Grid update() } public class SugarXMLHelper extends XMLHelper{ public Map getStates() public Grid getGrid(NodeList dims, List cells) public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public class TriNeighborhood implements Neighborhood { public List getNeighbors(Grid g, Cell c) } public class UIHelper { } public class UserInterface extends Main { public void setupScene() } public class Viewer extends UserInterface { public void paintScene(Stage stage) } public class WaTorXMLHelper extends XMLHelper { public Grid getGrid(NodeList dims, List cells) public Map getStates() public Simulation initSimulation(NodeList params, Grid g, Neighborhood n) } public class WrapNeighborhood extends NonDiagNeighborhood { public List getNeighbors(Grid g, Cell c) } public abstract class XMLCellsBuilder { public abstract List getCells(Element root, HashMap states, int[] dims); public abstract List getWaTorCells(Element root, HashMap states, int[] dims); public List getSugarCells(Element root, HashMap states, int[] dims) public List getRPSCells(Element root, HashMap states, int[] dims) } public class XMLException extends RuntimeException { public XMLException(String message, Object... values) public XMLException(Throwable cause, String message, Object... values) public XMLException(Throwable cause) } public abstract class XMLHelper { public List getCells(Element root, String methodName) public abstract Map getStates(); public abstract Grid getGrid(NodeList dims, List cells); public abstract Simulation initSimulation(NodeList params, Grid g, Neighborhood n); } public class XMLManualCellsBuilder extends XMLCellsBuilder { public List getCells(Element root, HashMap states, int[] dims) public List getWaTorCells(Element root, HashMap states, int[] dims) public List getSugarCells(Element root, HashMap states, int[] dims) } public class XMLProceduralCellsBuilder extends XMLCellsBuilder{ public List getCells(Element root, HashMap states, int[] dims) public List getWaTorCells(Element root, HashMap states, int[] dims) } public class XMLRandomCellsBuilder extends XMLCellsBuilder{ public List getCells(Element root, HashMap states, int[] dims) public List getWaTorCells(Element root, HashMap states, int[] dims) }