package Simulation.Cells; public class SegregationCell extends Cell { public SegregationCell(int initialState, Point location) } package Simulation.Cells; public class PredatorPreyCell extends Cell { public static final java.util.List NEIGHBORS = List.of("N", "E", "S", "W"); public PredatorPreyCell(int initialState, Point location) } package Simulation.Cells; public class SpreadingFireCell extends Cell { public static final List NEIGHBORS = List.of("N", "E", "S", "W"); public SpreadingFireCell(int initialState, Point location) } package Simulation.Cells; public class GameOfLifeCell extends Cell { public static final List NEIGHBORS = List.of("N", "NW", "NE", "SE", "SW", "E", "S", "W"); public GameOfLifeCell(int initialState, Point location) public List getNeighborDirections() } package Simulation.Cells; public abstract class Cell { public Cell(int initialState, Point location) public void setState(int newState) public int getState() public Point getPosition() public ArrayList getNeighbors() public void addNeighbor(Cell cell) } package Simulation.Grids; public class HexGrid extends Grid { public HexGrid(int rows, int cols) public List assignNeighbors(Cell cell) public String getShapeName() } package Simulation.Grids; public class SquareGrid extends Grid { public SquareGrid(int rows, int cols) public List assignNeighbors(Cell cell) public String getShapeName() } package Simulation.Grids; public abstract class Grid { public Grid(int rows, int cols) public Cell getCell(int x, int y) public void setCell(int x, int y, Cell cell) public int getRows() public int getCols() public Cell[][] getCellArray() public abstract List assignNeighbors(Cell cell); public abstract String getShapeName(); public void loadNeighbors() } package Simulation.Grids; public class TriangleGrid extends Grid { public TriangleGrid(int rows, int cols) public List assignNeighbors(Cell cell) public String getShapeName() } package Simulation.Simulations; public class PredatorPrey extends Simulation { public static final List STATES = List.of(FISH, SHARK, EMPTY); public PredatorPrey(Map dataValues, List cellLayout, int edges) public Cell newCell(Integer state, Point point) public int applyRule(Cell cell) public void resetTimeStep() public int fishRules(Cell cell) public Grid update() public Point findFirstEmptySpot(boolean[][] emptyGrid) public String getSimName() } package Simulation.Simulations; public abstract class Simulation { public static final List STATES = new ArrayList<>(); public static final List DATA_TYPE = List.of("Game Of Life", "Spreading Fire", "Segregation","Predator Prey"); public static final List DATA_FIELDS = List.of( public Simulation(String title, String author, int row, int col, String description, List cellLayout, int edges) public Simulation(Map dataValues, List cellLayout, int edges) public Map getDataValues() public String toString() public Grid getGrid() public int getRows() public abstract Cell newCell(Integer state, Point point); public int getCols() public abstract int applyRule(Cell cell); public Grid update() public boolean[][] allEmptyCells() public Grid getNewGrid(int edges) public abstract String getSimName(); public Grid reset() } package Simulation.Simulations; public class GameOfLife extends Simulation { public GameOfLife(Map dataValues, List cellLayout, int edges) public static final List STATES = List.of(ALIVE,DEAD); public int applyRule(Cell cell) public Cell newCell(Integer state, Point point) public String getSimName() } package Simulation.Simulations; public class Segregation extends Simulation { public static final List STATES = List.of(EMPTY, RED, BLUE); public Segregation(Map dataValues, List cellLayout, int edges) public int applyRule(Cell cell) public Cell newCell(Integer state, Point point) public Grid update() public String getSimName() public Point findFirstEmptySpot(boolean[][] emptyGrid) } package Simulation.Simulations; public class SpreadingFire extends Simulation { public static final List STATES = List.of(EMPTY,TREE,BURNING); public SpreadingFire(Map dataValues, List cellLayout,int edges) public Cell newCell(Integer state, Point point) public List getNeighborDirections() public int applyRule(Cell cell) public String getSimName() } package Xml; public class Format { public static final List FORMAT_PARAMETERS = List.of("shape", "cellsize", "outline"); public int getEdges()return myEdges;} public int getCellSize()return myCellSize;} public boolean getOutline()return myOutline;} public List getCellColors()return myCellColors;} } package Xml; public class XMLWriter { public XMLWriter (String filename) public void writeConfigInfo(Map values, Cell[][] cellGrid) public void saveFile() } package Xml; public class XMLException extends RuntimeException { public XMLException(String message, Object... values) public XMLException(Throwable cause, String message, Object... values) public XMLException(Throwable cause) } package Xml; public class XMLParser { public static final String DEFAULT_RESOURCE_FILE = "Resources/English"; // location of resource file (leave out .properties) public XMLParser () public String getSimulationName(File file) public Format getFormat(File formatFile) public Simulation getSimulation(File configFile) } package GUI; public class Interface extends Application { public void setUpAnimation() public void start(Stage primaryStage) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void handle(MouseEvent event) public void setColors() } package GUI; public class MakeGrids { public Color getColor0() public void setColor0(Color c) public void setColor1(Color c) public void setColor2(Color c) public Color getColor1() public Color getColor2() public void makeHexGrid(int numRows, int numCols, Grid grid, double cellWidth, double cellHeight, int padding, public void updateColors(String newColor, int state) public void makeTriangleGrid(int numRows, int numCols, Grid grid, double cellWidth, double cellHeight, int padding, public void makeSquareGrid(int numRows, int numCols, Grid grid, double cellWidth, double cellHeight, int padding, }