package xml; public class ReadXMLUtil{ public SimulationType createSimulationType(File xmlFile) } package xml; public class PredatorPreyXMLData extends XMLData { public SimulationType getInfo(Map simulationValues) } package xml; public class RockPaperScissorsXMLData extends XMLData { public SimulationType getInfo(Map simulationValues) } package xml; public abstract class XMLData { public static final List DATA_FIELDS = Arrays.asList("width", "height", "cell_type" ,"init_states", "description"); public abstract SimulationType getInfo(Map simulationValues); } package xml; public class GameOfLifeXMLData extends XMLData { public SimulationType getInfo(Map simulationValues) } package xml; public class XMLException{ public XMLException() public void showAlert(String error) public void showWarning(String warning) public void showAlert(String error, Animation animation) } package xml; public class SegregationXMLData extends XMLData { public SimulationType getInfo(Map simulationValues) } package xml; public class WriteXMLUtil { public WriteXMLUtil() public void writeData(Map simData, String simType) public Map createMap(int[][] current_grid, String userDescription, String cellType) } package xml; public class FireXMLData extends XMLData { public SimulationType getInfo(Map simulationValues) } package controller; public class MainViewController { public void run() } public class Main extends Application { public void start(Stage primaryStage) throws Exception } package model; public class HexagonalGrid implements NeighborFinder { public int[] collectNeighbors(int[][] cells, int row, int col, int num_neighbors, int invalid) } package model; public class PredatorPrey implements SimulationType { public PredatorPrey(Map dataValues) public PredatorPrey()} public void initializeRound(int[][] cells) public int[] getStates() public int[] checkGrid(int[][] cells, int row, int col, NeighborFinder shape) public int ruleset(int state, int row, int col, int[] neighbors) public String getName() public void setParameter(String key, double value) public Map getCurrDataMap() public int[][] getGrid() } package model; public class GameOfLife implements SimulationType { public GameOfLife()} public GameOfLife(Map dataValues) public int[][] getGrid() public void initializeRound(int[][] data) public int[] getStates() public int[] checkGrid(int[][] cells, int row, int col, NeighborFinder shape) public int ruleset(int state, int row, int col, int[] neighbors) public String getName() public void setParameter(String key, double value) public Map getCurrDataMap() } package model; public class SquareGrid implements NeighborFinder { public int[] collectNeighbors(int[][] cells, int row, int col, int num_neighbors, int invalid) } package model; public class RockPaperScissors implements SimulationType { public RockPaperScissors()} public RockPaperScissors(Map dataValues) public void initializeRound(int[][] cells) public int[] getStates() public int[] checkGrid(int[][] cells, int row, int col, NeighborFinder shape) public int ruleset(int state, int row, int col, int[] neighbors) public String getName() public int eatNeighbor(int row, int col, int[] neighbors, int state, int preyState) public void moveCell(int row, int col, int index, int state) public void setParameter(String key, double value) public Map getCurrDataMap() public int[][] getGrid() } package model; public class Grid { public Grid (NeighborFinder shape, int row, int col) public int[][] getCells() public void setAllCells(int[][] newCells) public void clearCells() public void createGrid(int[] states) public void selectRuleSet(String simType) public void updateGrid() public void updateCell(int row, int col, int state) public SimulationType getSimulation() return simulation; } } package model; public interface NeighborFinder { } package model; public interface SimulationType { } package model; public class Segregation implements SimulationType { public Segregation()} public Segregation(Map dataValues) public int[] getStates() public void initializeRound(int[][] cells) public int[] checkGrid(int[][] cells, int row, int col, NeighborFinder shape) public int ruleset(int state, int row, int col, int[] neighbors) public String getName() public void setParameter(String key, double value) public Map getCurrDataMap() public int[][] getGrid() } package model; public class Fire implements SimulationType { public Fire()} public Fire(Map dataValues) public void initializeRound(int[][] cells) public int[] getStates() public int[] checkGrid(int[][] cells, int row, int col, NeighborFinder shape) public int ruleset(int state, int row, int col, int[] neighbors) public String getName() public void setParameter(String key, double value) public Map getCurrDataMap() public int[][] getGrid() } package model; public class TriangularGrid implements NeighborFinder { public int[] collectNeighbors(int[][] cells, int row, int col, int num_neighbors, int invalid) } package view; public class GraphView extends VBox { public GraphView(double height) public void updateChart(int[][] cells) public void drawChart(int[][] cells) } package view; public class TriangularCell extends Polygon implements CellDelegate { public TriangularCell(double gridViewX, double gridViewY) public double calculateX(int row, int col, double size) public double calculateY(int row, int col, double size) public void updateView(double x, double y, double size) } package view; public class GridView extends Pane { public GridView(CellShape shape, double gridSize, double originX, double originY) public void clearGrid() public void drawGrid(int[][] cells) public void setCellShape(CellShape shape) public List getCellShapes() public CellShape getCellShape() public String getCellShapeAsString() } package view; public class HexagonalCell extends Polygon implements CellDelegate { public HexagonalCell(double gridViewX, double gridViewY) public double calculateX(int row, int col, double size) public double calculateY(int row, int col, double size) public void updateView(double x, double y, double size) } package view; public class SquareCell extends Rectangle implements CellDelegate { public SquareCell(double gridViewX, double gridViewY) public double calculateX(int row, int col, double size) public double calculateY(int row, int col, double size) public void updateView(double x, double y, double size) } package view; public class CellView { public CellView(Shape cell, int row, int col) public Shape getCell() public int getRow() public int getCol() } package view.toolbars; public class ToolbarView extends VBox { public ToolbarView(ResourceBundle resources) public String getSimulationType() return simulationType.getValue().toString(); } public String getShapeType() return shapeType.getValue().toString(); } public Button getSelectSimulation() return selectSimulation; } public Button getUploadXML() return uploadXML; } public Button getPlayButton() return playButton; } public Button getStopButton() return stopButton; } public Button getSpeedUpButton() return speedUpButton; } public Button getSlowDownButton() return slowDownButton; } public Button getStepButton() return stepButton; } public Button getDescriptionButton() return descriptionButton; } public Button getDownloadButton() return downloadButton; } public Button getSelectShape() return selectShape; } public void setSimLabel(String title) } package view.toolbars; public class FireToolbar { public static List getTools() public static TextField getCatchField() return catchField; } public static Button getSetButton() return setButton; } } package view.toolbars; public class SegregationToolbar { public static List getTools() public static TextField getTextField() public static Button getSetButton() } package view.toolbars; public class RockPaperScissorsToolbar { public static List getTools() public static TextField getHealthField() public static Button getSetButton() } package view.toolbars; public class PredatorPreyToolbar { public static List getTools() public static TextField getReproduceField() public static TextField getEnergyField() public static Button getSetButton() } package view.toolbars; public class GameOfLifeToolbar { public static List getTools() public static Slider getFewNeighbors() return fewNeighbors; } public static Slider getPerfectNeighbors() return perfectNeighbors; } } package view; public interface CellDelegate { } package view; public class MainView { public MainView() public void createToolbarView() public GridView getGridView() public GraphView getGraphView() return graphView; } public ToolbarView getToolbar() public Scene getScene() public void setLegendLabel(String text) }