package configuration.datatemplates; public class FireXMLData extends XMLData { public FireXMLData() public List getParameterFields() public List getDataFields() public FireRuleset getRules() public Grid getGrid(int[][] states) } package configuration.datatemplates; public class GameOfLifeXMLData extends XMLData { public GameOfLifeXMLData() public List getParameterFields() public List getDataFields() public GameOfLifeRuleset getRules() public Grid getGrid(int[][] states) } package configuration.datatemplates; public class RPSXMLData extends XMLData { public RPSXMLData() public Ruleset getRules() public List getParameterFields() public List getDataFields() public Grid getGrid(int[][] states) } package configuration.datatemplates; public class SegregationXMLData extends XMLData { public SegregationXMLData() public List getParameterFields() public List getDataFields() public SegregationRuleset getRules() public Grid getGrid(int[][] states) } package configuration.datatemplates; public class SugarXMLData extends XMLData { public SugarXMLData() public Ruleset getRules() public List getParameterFields() public List getDataFields() public Grid getGrid(int[][] states) } package configuration.datatemplates; public class WaTorXMLData extends XMLData { public WaTorXMLData() public List getParameterFields() public List getDataFields() public Ruleset getRules() public Grid getGrid(int[][] states) } package configuration.datatemplates; public abstract class XMLData { public XMLData () public void setMap(Map dataValues) public int[][] getStates(String parserType, String simulationType) public String getName() public int getXSize() public int getYSize() public abstract Grid getGrid(int[][] states); public abstract Ruleset getRules(); public List getStandardFields() public abstract List getDataFields(); public abstract List getParameterFields(); } package configuration; public class XMLDataFactory { public List getDataFields(String simType) public List getParameters(String simType) public XMLData chooseDataTemplate(String simType) } package configuration; public class XMLException extends RuntimeException { public XMLException (String message, Object ... values) public XMLException (Throwable cause, String message, Object ... values) public XMLException (Throwable cause) } package configuration.XMLParsing; public class CellStateGenerator extends XMLDataFactory { public int[][] locationStates(String s, int xSize, int ySize) public int[][] randomStates(String simType, int xSize, int ySize) } package configuration.XMLParsing; public class XMLParser { public XMLParser () public Grid getGrid() public Ruleset getRuleset() public String getName() public void setType(File dataFile) } package configuration.XMLWriting; public class GridtoXMLConverter extends XMLDataFactory{ public List rulesetParam(String simType, Ruleset rules) public String cellStates(Grid g) } package configuration.XMLWriting; public class XMLWriter extends FileController { public XMLWriter () public void createDoc(String simType, String simName, Grid GRID, Ruleset RULES) throws TransformerConfigurationException } public class Driver extends Application { public void start(Stage primaryStage) throws Exception } package simulation.cell; public abstract class Cell implements Cloneable{ public Cell(int x, int y, int state) public int getX() public void setX(int x) public int getY() public void setY(int y) public int getState() public void setState(int state) public void changeState(int state) public abstract Color colorCell(); public void setMove(boolean b) public boolean getMove() public abstract void setColors(String[] colors); } package simulation.cell; public class FireCell extends Cell { public FireCell(int x, int y, int state) public Color colorCell() public void setColors(String[] colors) } package simulation.cell; public class GameOfLifeCell extends Cell { public GameOfLifeCell(int x, int y, int state) public Color colorCell() public void setColors(String[] color) } package simulation.cell; public class RPSCell extends Cell { public RPSCell(int x, int y, int state, int gradient) public Color colorCell() public int getGradient() public void setGradient(int gradient) public void upgrade() public void downgrade() public void setColors(String[] colors) } package simulation.cell; public class SegregationCell extends Cell { public SegregationCell(int x, int y, int state) public Color colorCell() public void setColors(String[] color) } package simulation.cell; public class SugarCell extends Cell { public SugarCell(int x, int y, int state, int sugar, int maxSugar, int agentSugar, int agentMetabolism, int agentVision) public void setState(int state) public Color colorCell() public int getTicks() public void resetTicks() public int getSugar() public int getAgentSugar() public void setAgentSugar(int sugar) public void setSugar(int sugar) public int getMaxSugar() public int getVision() public void setVision(int vision) public int getMetabolism() public void setMetabolism(int metabolism) public void setColors(String[] colors) } package simulation.cell; public class WaTorCell extends Cell { public WaTorCell(int x, int y, int state, int initEnergy) public void incrementEnergy() public void decrementEnergy() public void incrementBreedingTime() public int getBreedingTime() public void setBreedingTime(int time) public int getNextState() public int getEnergy() public void setEnergy(int e) public void reset() public int getInitEnergy() public Color colorCell() public void setColors(String[] color) } package simulation; public class CurrentSimulation { public CurrentSimulation(Engine currentEngine, boolean edge, public void update() public Shape drawShape(int x, int y) public void colorCell(Cell currentCell, int x, int y) public void setNeighborhood(String shape, boolean finite) public String getShape() public boolean getEdge() public void setNeighborManager(String shape, boolean edge) public String getColor() public double getSize() public double getSpace() public void setColors() } package simulation; public class Engine { public Engine() public void startProgram(Stage primaryStage, int width, int height) public void styleSimulation() public void startSimulation(String type, boolean edge, String shape, String color, public void setGenerationSpeed(double speed) public ObservableList getSimulations() public void initializeMaps() public void setRules() public Grid getGrid(String name) public void writeGridtoXML(String name) public String resourceString(String key) public String getSimulationName() public void setSimulationName(String s) public int getGeneration() public void setGrids(Map grids) public int getStateCount(int state) public void singleStep() public void pauseAnimation() public void playAnimation() public Grid currentGrid() public Ruleset currentRules() public CurrentSimulation getCurrentSimulation() public ReadOnlyDoubleProperty sceneWidth() public ReadOnlyDoubleProperty sceneHeight() public List getParameters() public ObservableList getDisplayColors() public void setColor(String scheme) public String[] getColors() } package simulation.factoryClasses; public class ColorMapper { public List getColorOptions() public String[] getColors(String color) } package simulation.factoryClasses; public class ShapeFactory { public ShapeFactory(String shape) public Shape chooseShape(int r, int c, Engine PROGRAM_ENGINE, } package simulation.factoryClasses; public class StyleFactory extends Engine { public List getParameters(String simType) public ObservableList getEdgeHandling() public ObservableList getShapes() public void setParameter(Engine engine, String param, double newVal) public double getParameter(Engine engine, String param) } package simulation; public class FileController{ public FileController() public void parseFiles() public boolean accept(File dir, String name) public Map getGrids() public Map getRules() } package simulation.grid; public abstract class Grid implements Cloneable{ public Grid(int x, int y) public void addCell(Cell cell) public Cell getCell(int x, int y) public Cell[][] getCells() public int getXSize() public int getYSize() public void setType(String s) public String getType() public int stateCount(int state) public void setColors(String[] colors) } package simulation.grid; public class StandardGrid extends Grid { public StandardGrid(int x, int y) } package simulation.neighborhoods; public abstract class Neighborhood { public abstract Cell[] TorodialCardinal(Cell c, Grid g); public abstract Cell[] TorodialDiagonal(Cell c, Grid g); public abstract Cell[] FiniteCardinal(Cell c, Grid g); public abstract Cell[] FiniteDiagonal(Cell c, Grid g); } package simulation.neighborhoods.neighborhoodFactories; public class NeighborhoodFactory { public List cardinalFiniteCheck(Cell c, Grid g) public List cardinalWrapCheck(Cell c, Grid g) public List diagonalFiniteCheck(Cell c, Grid g) public List xBoundCheck(Cell c, Grid g) public List yBoundCheck(Cell c, Grid g) public List cornersCheck(Cell c, Grid g) } package simulation.neighborhoods.neighborhoodFactories; public class TriangleNeighborhoodFactory extends NeighborhoodFactory { public List upTriangleFiniteDiagonal(Cell c, Grid g) public List downTriangleFiniteDiagonal(Cell c, Grid g) public List xBoundsCheck(Cell c, Grid g) public List yBoundsCheck(Cell c, Grid g) public List cornersCheck(Cell c, Grid g) public List upTriangleTorodialDiagonal(Cell c, Grid g) public List downTriangleTorodialDiagonal(Cell c, Grid g) } package simulation.neighborhoods; public class SquareNeighborhood extends Neighborhood { public Cell[] FiniteCardinal(Cell c, Grid g) public Cell[] FiniteDiagonal(Cell c, Grid g) public Cell[] TorodialCardinal(Cell c, Grid g) public Cell[] TorodialDiagonal(Cell c, Grid g) } package simulation.neighborhoods; public class TriangleNeighborhood extends Neighborhood { public Cell[] FiniteCardinal(Cell c, Grid g) public Cell[] FiniteDiagonal(Cell c, Grid g) public Cell[] TorodialCardinal(Cell c, Grid g) public Cell[] TorodialDiagonal(Cell c, Grid g) } package simulation.ruleSet; public class FireRuleset extends Ruleset { public void setNeighborManager(Neighborhood n, boolean finite) public FireRuleset(double probCatch) public double getProbCatch() public void setProbCatch(Double d) public int processCell(Cell c) } package simulation.ruleSet; public class GameOfLifeRuleset extends Ruleset { public GameOfLifeRuleset(int minLife, int maxLife, int birth) public void setNeighborManager(Neighborhood n, boolean finite) public int processCell(Cell c) public int getMinLife() public int getMaxLife() public int getBirth() public void setMinLife(int n) public void setBirth(int n) public void setMaxLife(int n) } package simulation.ruleSet.neighborManager; public class FireNeighborManager extends NeighborManager { public FireNeighborManager(Neighborhood n, boolean finite) public int neighborCount(Cell c, Grid g, int param) } package simulation.ruleSet.neighborManager; public class GameOfLifeNeighborManager extends NeighborManager { public GameOfLifeNeighborManager(Neighborhood n, boolean finite) } package simulation.ruleSet.neighborManager; public abstract class NeighborManager { public NeighborManager(Neighborhood n, boolean finite) public int neighborCount(Cell c, Grid g, int param) public Cell getNeighbor(Cell c, Grid g, int param) } package simulation.ruleSet.neighborManager; public class RPSNeighborManager extends NeighborManager { public RPSNeighborManager(Neighborhood n, boolean finite) public Cell[] getNeighbors(Cell c, Grid g) } package simulation.ruleSet.neighborManager; public class SegregationNeighborManager extends NeighborManager { public SegregationNeighborManager(Neighborhood n, boolean finite) public SegregationCell findVacantCell(Grid g) public double getNeighborSatisfaction(Cell c, Grid g) } package simulation.ruleSet.neighborManager; public class SugarNeighborManager extends NeighborManager { public SugarNeighborManager(Neighborhood n, boolean finite) public Cell[] getNeighbors(Cell c, Grid g, int vision) } package simulation.ruleSet.neighborManager; public class WaTorNeighborManager extends NeighborManager { public WaTorNeighborManager(Neighborhood n, boolean finite) public Cell vacantOrFishNeighbor(WaTorCell c, Grid g) } package simulation.ruleSet; public class RPSRuleset extends Ruleset { public RPSRuleset() public void setNeighborManager(Neighborhood n, boolean finite) public int processCell(Cell c) public void eat(RPSCell c, RPSCell n) public void eaten(RPSCell c, RPSCell n) } package simulation.ruleSet; public abstract class Ruleset { public void setGrid(Grid g) public abstract int processCell(Cell cell); public abstract void setNeighborManager(Neighborhood n, boolean finite); public void processCells() } package simulation.ruleSet; public class SegregationRuleset extends Ruleset { public SegregationRuleset(double tolerance) public void setNeighborManager(Neighborhood n, boolean finite) public int processCell(Cell cell) public double getTolerance() public void setTolerance(double n) } package simulation.ruleSet; public class SugarRuleset extends Ruleset{ public void setNeighborManager(Neighborhood n, boolean finite) public SugarRuleset(int regenRate, int regenInterval) public int getRegenRate() public void setRegenRate(int rate) public int getRegenInterval() public void setRegenInterval(int interval) public int processCell(Cell cell) } package simulation.ruleSet; public class WaTorRuleset extends Ruleset { public WaTorRuleset(int fishBreedTime, int sharkBreedEnergy, int fishInitEnergy, int sharkInitEnergy) public void setNeighborManager(Neighborhood n, boolean finite) public int processCell(Cell c) public int getFishBreedTime() public int getSharkBreedEnergy() public int getSharkInitEnergy() public int getFishInitEnergy() public void setFishBreedTime(int n) public void setSharkBreedEnergy(int n) public void setFishInitEnergy(int n) public void setSharkInitEnergy(int n) } package simulation.screen.panels; public class SimulationCellPanel { public SimulationCellPanel(Engine programEngine, CurrentSimulation simulation) public ScrollPane construct() } package simulation.screen.panels; public class SimulationControlPanel { public SimulationControlPanel(Engine programEngine, SimulationScreen rootScreen) public Parent construct() public void update() public Button makeButton(String text) public void handle(MouseEvent arg0) public Button settingsButton() public void handle(MouseEvent arg0) public Button exitButton() public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) } package simulation.screen.panels; public class SimulationGraphPanel{ public SimulationGraphPanel(Engine programEngine) public HBox construct() public void update() } package simulation.screen; public abstract class Screen extends Engine { public Screen(Engine programEngine) public Parent getRoot() public abstract void makeRoot(); } package simulation.screen; public class SimulationScreen extends Screen { public SimulationScreen(Engine programEngine, CurrentSimulation simulation) public void makeRoot() public BorderPane getRootPane() } package simulation.screen; public class SimulationSettings extends Screen { public SimulationSettings(Engine programEngine) public void makeRoot() public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) public void handle(KeyEvent key) public boolean getEdge() public ObservableList getEdgeHandling() public ObservableList getShapes() } package simulation.screen; public class SimulationSettingsPanel { public SimulationSettingsPanel(Engine programEngine) public VBox construct() public void handle(MouseEvent arg0) public void handle(KeyEvent key) public void handle(MouseEvent arg0) public void handle(KeyEvent key) public void handle(MouseEvent arg0) public void handle(KeyEvent key) public void handle(MouseEvent arg0) public void handle(KeyEvent key) public void handle(MouseEvent arg0) public void handle(MouseEvent arg0) } package simulation.screen; public class StartScreen extends Screen { public StartScreen(Engine programEngine) public void makeRoot() public Label makeLabel(String text) public Button makeButton(String text) public void handle(MouseEvent arg0) } package simulation.shapes; public class RectangleHandler extends ShapeHandler { public RectangleHandler(Engine programEngine, double size, double spacing) public Rectangle generateRectangle(int row, int col) } package simulation.shapes; public abstract class ShapeHandler { public ShapeHandler(Engine programEngine, double size, double spacing) public double getSpacing() } package simulation.shapes; public class TriangleHandler extends ShapeHandler { public TriangleHandler(Engine programEngine, double size, double spacing) public Polygon generateTriangle(int row, int col) }