package cellsociety.Controller; public record AboutData(int simulationId, String author, String desc) { } package cellsociety.Controller; public class XMLController { public XMLController(String lang) public ConfigData loadConfig(File file) public AboutData loadDescription(File file) public FileChooser getChooser() public void save(Grid grid, ConfigData settings, AboutData about) } package cellsociety.Controller; public record ConfigData( } package cellsociety.Controller; public class SimulationController { public SimulationController(ConfigData data, AboutData aboutData, String langOption) public Collection initiateSimulation() public void handleGap(int value) public Timeline getTimeline() public void step() public HashMap getCellCount() public int getTotalCellCount() public void handlePause() public void handleResume() public void handleSpeedUp() public void handleSlowDown() public void save() } package cellsociety.Controller; public class XMLException extends RuntimeException { public XMLException(String message) public XMLException(Throwable cause, String message) } package cellsociety.Model; public class HexNeighborhood extends Neighborhood { public ArrayList standardMoore(Grid grid, int width, int height, Cell c) } package cellsociety.Model; public class Neighborhood { public ArrayList standardNeuMann(Grid grid, int width, int height, Cell c) public ArrayList standardMoore(Grid grid, int width, int height, Cell c) public ArrayList percolationNeighbors(Grid grid, int width, Cell c) public ArrayList foragingAntsNeighbors(Grid grid, int width, int height, Cell c) } package cellsociety.Model; public class CellSugarAgent extends Cell { public CellSugarAgent(int type, String color, int pos, int width) public void setNeighbors(Grid grid, int width, int height) public void apply(Grid grid, int width, int height) public int getSugar() } package cellsociety.Model; public class CellSegregation extends Cell { public CellSegregation(int type, String color, int pos, int width, double threshold) public void apply(Grid grid, int width, int height) public void setNeighbors(Grid grid, int width, int height) } package cellsociety.Model; public class Grid { public Grid(int width, int height) public void place(Cell c) public int getIndex(Cell c) public Cell getCellPosition(int pos) public int getSize() public Collection getCells() public Collection getEmptyCells() public Collection getTypeFillCells() public void applyRules() public void setGap(int value) public void updateTypeFillCells(Cell c) public void removeTypeFillCell(Cell c) public void initiateNeighbors() public void update(Map colorMap) public int getWidth() } package cellsociety.Model; public interface ImmutableCell { double getSize(); String getColor(); double getXCoordinate(); double getYCoordinate(); int getType(); } package cellsociety.Model; public class CellAnt extends Cell { public CellAnt(int type, String color, int pos, int width) public void apply(Grid grid, int width, int height) public void setNeighbors(Grid grid, int width, int height) public void transitionColor(String color) } package cellsociety.Model; public class CellSand extends Cell { public CellSand(int type, String color, int pos, int width) public void setNeighbors(Grid grid, int width, int height) public void apply(Grid grid, int w, int h) } package cellsociety.Model; public class HexCellConway extends CellConway { public HexCellConway(int type, String color, int pos, int width) public void setNeighbors(Grid grid, int width, int height) public void setYPosition() } package cellsociety.Model; public class CellFire extends Cell { public CellFire(int type, String color, int pos, int width, double prob) public void apply(Grid grid, int w, int h) public void setNeighbors(Grid grid, int width, int height) } package cellsociety.Model; public class CellLangton extends Cell { public CellLangton(int type, String color, int pos, int width) public void apply(Grid grid, int width, int height) public void setNeighbors(Grid grid, int width, int height) public void nextJunctionInitiate(int branchStartPosition) public void branchEndPosition() public String horizontalOrVerticalBranch(int horizontalIndex, int verticalIndex) } package cellsociety.Model; public class CellConway extends Cell { public CellConway(int type, String color, int pos, int width) public void apply(Grid grid, int w, int h) public void setNeighbors(Grid grid, int width, int height) } package cellsociety.Model; public class CellPredation extends Cell { public CellPredation(int type, String color, int pos, int width) public void apply(Grid grid, int width, int height) public void setNeighbors(Grid grid, int width, int height) } package cellsociety.Model; public abstract class Cell implements ImmutableCell { public Cell(int type, String color, int pos, int width) public void setXPosition() public void setYPosition() public void setNextState(int newState) public void transitionState() public void transitionColor(String color) public String getColor() public int getRow() public int getCol() public int getType() public int getNextType() public int getPosition() public double getXCoordinate() public double getYCoordinate() public void setYCoordinate(double y) public void setGap(int gap) public int getGap() public abstract void apply(Grid grid, int width, int height); public abstract void setNeighbors(Grid grid, int width, int height); public double getSize() public void setSize(double size) public String toString() } package cellsociety.Model; public class CellPercolation extends Cell { public CellPercolation(int type, String color, int pos, int width) public void apply(Grid grid, int width, int height) public void setNeighbors(Grid grid, int width, int height) } package cellsociety.View; public abstract class Buttons extends Button { } package cellsociety.View; public class SimulationUI extends Application { public void start(Stage primaryStage) public static void startModel() public static void switchModel(Button b) } package cellsociety.View; public class ViewButtons extends Buttons { public void addViewButtons(Group root, Node node) } package cellsociety.View; public class ModelButtons extends Buttons{ public void addModelButtons(Group root, SimulationController simController, } package cellsociety.View; public class HexagonCell extends PolygonCell{ public ArrayList drawCells(Grid grid) } package cellsociety.View; public class RectangleCell extends PolygonCell { public ArrayList drawCells(Grid grid) } package cellsociety.View; public abstract class PolygonCell extends Polygon { public abstract ArrayList drawCells(Grid grid); } package cellsociety.View; public class ChartView { public ChartView(GraphicsContext g, Color color, SimulationController simController, public void update() } package cellsociety.View; public class ControlButtons extends Buttons { public void addControlButtons(Group root, SimulationController simController) }