package cellsociety; public class PercolationExample { } package cellsociety.config; * A public class to allow various classes to access the file chooser for this program, so that it public class FileChooserConfig { public static final FileChooser FILE_CHOOSER public static FileChooser makeSaveChooser(String name) } package cellsociety.config; public class MainConfig { public static final ResourceBundle MESSAGES public static final String TITLE public static final int GRID_WIDTH public static final int GRID_HEIGHT public static final int SIDEBAR_WIDTH } package cellsociety.config; public class SimulationConfig { public static Cell getNewCell(int row, int col, int state, String simulationName) public static Simulation getNewSimulation(String simulationName, public static List getParameters(String simulationName) } package cellsociety.controller; public class MainController { public MainController(Stage stage, Group root) public void startAnimation() public void stopAnimation() public Simulation getSimulation() public void handleSingleStep() public void updateAnimationSpeed(double speed, boolean start) public void setEditing(boolean editing) public int getGridRows() public int getGridCols() public boolean isPlaying() public void createNewSimulation(int rows, int cols, String type, SimulationMetaData metaData, public void changeCellState(int row, int column) public void handleNewSimulationFromFile() public void handleSavingToFile() } package cellsociety; public class SpreadingOfFireExample { } package cellsociety; public class Main extends Application { public void start(Stage stage) } package cellsociety.model; public class Grid { public Grid(int numRows, int numCols) public int getRows() public int getCols() public Cell getCell(int row, int col) public Cell getCell(Point2D point) public boolean addCell(Cell cell) public boolean cellExists(Point2D location) public List updateGrid(Simulation simulation) public boolean updateCell(Cell cell) public Iterator getCellIterator() public void printGrid() } package cellsociety.model.simulation.types; public class GameOfLife extends Simulation { public GameOfLife(SimulationRules rules, SimulationMetaData data) protected void initializeStateMap() } package cellsociety.model.simulation.types; public class SegregationModel extends Simulation { public SegregationModel(SimulationRules rules, SimulationMetaData data) protected void initializeStateMap() } package cellsociety.model.simulation.types; public class Percolation extends Simulation { public Percolation(SimulationRules rules, SimulationMetaData data) protected void initializeStateMap() } package cellsociety.model.simulation.types; public class SpreadingOfFire extends Simulation { public SpreadingOfFire(SimulationRules rules, SimulationMetaData data) protected void initializeStateMap() } package cellsociety.model.simulation.types; public class WaTorWorld extends Simulation { public WaTorWorld(SimulationRules rules, protected void initializeStateMap() } package cellsociety.model.simulation; public abstract class Simulation { public Simulation(SimulationRules rules, SimulationMetaData data) public SimulationRules getRules() public SimulationMetaData getData() protected abstract void initializeStateMap(); public StateInfo getStateInfo(int state) public Map getStateMap() public List getStates() } package cellsociety.model.simulation; public record SimulationMetaData(String type, String name, String author, String description) { public record SimulationMetaData(String type, String name, String author, String description) } package cellsociety.model.simulation; public record StateInfo(String displayName, Color color) { public record StateInfo(String displayName, Color color) } package cellsociety.model.simulation; public abstract class SimulationRules { public SimulationRules() public SimulationRules(Map parameters) public Map getParameters() public Double getParameter(String curParameter) public void setParameter(String key, Double value) public List getNeighbors(Cell cell, Grid grid, boolean includesDiagonals) public List getNextStatesForAllCells(Grid grid) public abstract int getNextState(Cell cell, Grid grid); } package cellsociety.model.simulation.rules; public class SegregationModelRules extends SimulationRules { public SegregationModelRules(Map myParameters) public List getNeighbors(Cell cell, Grid grid) public int getNextState(Cell cell, Grid grid) public List getNextStatesForAllCells(Grid grid) } package cellsociety.model.simulation.rules; public class WaTorWorldRules extends SimulationRules { public WaTorWorldRules(Map parameters) public int getValue() public static void fromValue(int value) public List getNeighbors(Cell cell, Grid grid) public int getNextState(Cell cell, Grid grid) public List getNextStatesForAllCells(Grid grid) } package cellsociety.model.simulation.rules; public class GameOfLifeRules extends SimulationRules { public GameOfLifeRules() public List getNeighbors(Cell cell, Grid grid) public int getNextState(Cell cell, Grid grid) } package cellsociety.model.simulation.rules; public class SpreadingOfFireRules extends SimulationRules { public SpreadingOfFireRules() public SpreadingOfFireRules(Map myParameters) public List getNeighbors(Cell cell, Grid grid) public int getNextState(Cell cell, Grid grid) } package cellsociety.model.simulation.rules; public class PercolationRules extends SimulationRules { public PercolationRules() public List getNeighbors(Cell cell, Grid grid) public int getNextState(Cell cell, Grid grid) } package cellsociety.model.cell; public class CellStateUpdate { public CellStateUpdate(Point2D location, int myNextState) public int getRow() public int getCol() public int getState() } package cellsociety.model.cell; public class DefaultCell extends Cell { public DefaultCell(int state, Point2D location) } package cellsociety.model.cell; public class WaTorCell extends Cell { public WaTorCell(int state, Point2D location) public WaTorCell(int state, Point2D location, int health, double reproductionEnergy) public int getHealth() public void resetHealth() public void setHealth(int health) public void addHealth(int amount) public double getReproductionEnergy() public void resetReproductionEnergy() public void decreaseHealth() public void setState(int newState) } package cellsociety.model.cell; public abstract class Cell { public Cell(int state, Point2D location) throws IllegalArgumentException public int getState() public void setState(int newState) public Point2D getLocation() public int getRow() public int getCol() } package cellsociety.model.XMLHandlers; public class XMLWriter { public static void saveSimulationToXML(Simulation sim, Grid grid, Stage stage) } package cellsociety.model.XMLHandlers; public class XMLHandler { public XMLHandler(String xmlFilePath) public String getType() public String getTitle() public String getAuthor() public String getDescription() public int getGridHeight() public int getGridWidth() public Grid getGrid() public SimulationMetaData getSimData() public Simulation getSim() public Map getParams() } package cellsociety.view; public class SimulationView extends Group { public void step(Grid grid, Simulation simulation) public void setColor(int row, int col, Paint color) } package cellsociety.view; public class GridView extends Group { public void setColor(int row, int col, Paint color) } package cellsociety.view; public class ViewModeView extends VBox { public void update() } package cellsociety.view.components; public class AlertField extends VBox { public AlertField() public void flash(String message, boolean warning) } package cellsociety.view.components; public class DoubleField extends TextField { public void replaceText(int start, int end, String text) public void replaceSelection(String text) } package cellsociety.view.components; public class IntegerField extends TextField { public void replaceText(int start, int end, String text) public void replaceSelection(String text) } package cellsociety.view; public class StateInfoView extends VBox { public StateInfoView(Simulation simulation) } package cellsociety.view; public class SidebarView extends VBox { public SidebarView(int width, int height, MainController controller) public void update() } package cellsociety.view; public class CellView extends Rectangle { public CellView(int x, int y, int width, int height) public CellView(int x, int y, int width, int height, Paint fill) } package cellsociety.view; public class ParameterView extends VBox { public ParameterView(Simulation simulation) } package cellsociety.view; public class EditModeView extends VBox { } package cellsociety; public class MainExample extends Application { public static final String DATA_FILE_FOLDER public void start (Stage primaryStage) public int calculateNumBlocks(File xmlFile) public double getVersion () } package cellsociety; public class GameOfLifeExample { }