package grids; public class DiagonalSquareGrid extends Grid { public DiagonalSquareGrid(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public abstract class Grid { public Grid(CellOccupant[][] grid) public CellOccupant[][] getGrid() public int getLength() public int getWidth() public void setOccupant(int x, int y, CellOccupant cell) public CellOccupant getOccupant(int x, int y) public List getCurrentAndNextPositionsOfType(int type) public List getNextPositionsOfType(int type) public abstract List getNeighbors(CellOccupant cell); public CellOccupant getNeighborOfType(List neighbors, int type) } package grids; public class HexagonGrid extends Grid { public HexagonGrid(CellOccupant[][] grid) public List getNeighbors(CellOccupant cell) } package grids; public class SquareGrid extends Grid { public SquareGrid(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridCorner extends Grid { public SquareGridCorner(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridI extends Grid { public SquareGridI(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridN extends Grid { public SquareGridN(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridT extends Grid { public SquareGridT(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridW extends Grid { public SquareGridW(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridY extends Grid { public SquareGridY(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class SquareGridZ extends Grid { public SquareGridZ(CellOccupant[][] grid) public List getNeighbors(CellOccupant current) } package grids; public class WrapAroundGrid extends Grid { public WrapAroundGrid(CellOccupant [][] grid) public List getNeighbors(CellOccupant cell) } package setupGUI; public class DisplayGrid { public DisplayGrid(String smf, Stage ps) public String getCURRENT_SIMULATION_TYPE() public CellOccupant[][] getCURRENT_CONFIGURATION() public Simulation getCURRENT_SIMULATION() public void setShowGridLines(boolean val) public void fillSimulationArray() throws LoadGridException public CellOccupant createCellOccupant(int initState, int[] initLocation, Paint initColor) public Pane displaySimulationConfiguration() throws LoadGridException } package setupGUI; public class LoadGridException extends Exception { } package setupGUI; public class PopulationGraph public PopulationGraph(DisplayGrid currentGrid) public void updatePopulationGraph() public VBox displayPopulationGraph() } package setupGUI; public class Setup extends Application public void start(Stage primaryStage) public void makeFrames(Stage primaryStage, int framesPerSecond) } package setupGUI; public class XMLCreation public XMLCreation(String name) public void createRandomXML(String simulationType, int xSize, int ySize, String[] colors) throws LoadGridException public void currentGridToXML(DisplayGrid currentGrid) throws LoadGridException public void createWithPopulationPercentages(String simulationType, int xSize, int ySize, String[] colors, int[] percentages) throws LoadGridException } package simulation; public class AntOccupant extends CellOccupant{ public AntOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public abstract class CellOccupant { public CellOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public Paint[] getTypeColors() public Paint getCurrentPaint() public Paint getNextPaint() public int getCurrentState() public int getNextState() public int[] getCurrentLocation() public int[] getNextLocation() public void setCurrentPaint() public void setNextPaint(Paint color) public void setCurrentState() public void setNextState(int state) public void setCurrentLocation(int[] location) public void setNextLocation(int[] location) public void noChange() public abstract void calculateNextState(Grid grid); } package simulation; public class FireOccupant extends CellOccupant { public FireOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class LangtonOccupant extends CellOccupant { public LangtonOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class LangtonRules { public int getState() public int getNextState(List inputList) } package simulation; public class LifeOccupant extends CellOccupant{ public LifeOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class RPSOccupant extends CellOccupant { public RPSOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class SegOccupant extends CellOccupant { public SegOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class Simulation { public Simulation(CellOccupant[][] grid, String simType, int population, Paint[] colors) public void setRunStatus(boolean status) public boolean getStatus() public String getType() public CellOccupant[][] getOccupantGrid() public void setNextStates() public int[] getPopulationNumbers() public int getNumPopulations() } package simulation; public class SugarOccupant extends CellOccupant{ public SugarOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package simulation; public class WatorOccupant extends CellOccupant { public WatorOccupant(int initState, int[] initLocation, Paint initColor, Paint[] colors) public void calculateNextState(Grid grid) } package userInterface; public abstract class Buttons public Buttons(String text, Properties prop, Timeline animation, Stage primaryStage) public Button getMyButton() public abstract void buttonEvent(Button button, Properties prop, Timeline animation, Stage primaryStage); public void resetSimulation(Stage primaryStage, Timeline animation) } package userInterface; public class PauseButton extends Buttons { public PauseButton(String text, Properties prop, Timeline animation, Stage primaryStage) public void buttonEvent(Button button, Properties prop, Timeline animation, Stage primaryStage) } package userInterface; public class StartButton extends Buttons public StartButton(String text, Properties prop, Timeline animation, Stage primaryStage) public void buttonEvent(Button button, Properties prop, Timeline animation, Stage primaryStage) } package userInterface; public class StopButton extends Buttons { public StopButton(String text, Properties prop, Timeline animation, Stage primaryStage) public void buttonEvent(Button button, Properties prop, Timeline animation, Stage primaryStage) }