package cellsociety; public class FileParser { public static int[] getGridSize(File file) public static int[][] getGridInitStates(File file) throws Exception public static HashMap getSettings(File simFile) throws Exception } package cellsociety; public class FileSaver { public static void saveSIM(String typeOfGame, String fileName) public static void saveCSV(String typeOfGame, String fileName, int[][] intGrid) } package cellsociety.controller; public class SimulationController { public SimulationController(Model model) public SimulationController(Model model, String language, String styleFile) public void step() public int[][] getIntGrid() public Map getMap() public void sendCellChange(int row, int col) public void sendParamChange(HashMap params) public void render() public void sendNeighborPolicy(String policy) public void sendEdgePolicy(String policy) } package cellsociety.controller; public class InitializationController { public InitializationController(Stage primaryStage) public Model initializeModel(File csvFile, File simFile, String language) public StartView getStartView() } package cellsociety; public class Main extends Application { public static final String DATA_FILE_FOLDER public void start(Stage primaryStage) public int sumCSVData(Reader dataReader) public double getVersion() } package cellsociety.model; public class SnowFlakeModel extends Model { public SnowFlakeModel(File csvFile, File simFile, String language) public Grid step() protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model; public record GridParameters(int rows, int cols, String type, String neighborType, String edgePolicy) { } package cellsociety.model; public class PercolationCell implements Cell { public static PercState valueOf(int stateNum) public Map getMap() public int getValue() public void setState(PercState newState) public void setState(int state_num) public PercState getState() public int getValueOfState() public Map getMap() } package cellsociety.model; public class SegregationCell implements Cell { public static SchellingState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(SchellingState newState) public void setState(int state_num) public SchellingState getState() public int getValueOfState() public Map getMap() } package cellsociety.model; public class SegregationModel extends Model { public SegregationModel(File csvFile, File simFile, String language) public Grid step() protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) public void setSatisfiedRate(double rate) public boolean isCellSatisfied(Grid myGrid, int cellRow, int cellCol, double satisfiedRate) } package cellsociety.model; public class PercolationModel extends Model { public PercolationModel(File csvFile, File simFile, String language) protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model; public class Grid implements Iterable { public static final ResourceBundle cellResources public static final ResourceBundle neighborResources public Grid(GridParameters params) public Grid(GridParameters params, int[][] init_states) public int getCols() public int getRows() public Cell cellAt(int row, int col) public List neighbors(int row, int col) public List neighborCellsByState(List allNeighbors, int stateVal) protected Cell[][] getCellGrid() public void changeParams(GridParameters newParams) public Iterator iterator() } package cellsociety.model; public class SnowFlakeCell implements Cell { public static SnowFlakeState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(SnowFlakeState newState) public void setState(int state_num) public void setInitialWaterValues() public SnowFlakeState getState() public int getValueOfState() public List getWaterValues() public void setWaterValues(double participatesVal, double doesntParticipateVal) public Map getMap() } package cellsociety.model; public class FallingSandModel extends Model { public FallingSandModel(File csvFile, File simFile, String language) public Grid step() protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model; public class WatorWorldModel extends Model { public WatorWorldModel(File csvFile, File simFile, String language) public Grid step() protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model; public class FireCell implements Cell { public static FireState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(FireState newState) public void setState(int state_num) public FireState getState() public int getValueOfState() public Map getMap() } package cellsociety.model; public class WatorWorldCell implements Cell { public static WatorState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(WatorWorldCell.WatorState newState) public void setState(int state_num) public void setHasMoved(Boolean bool) protected Boolean getHasMoved() public WatorWorldCell.WatorState getState() public int getValueOfState() public Map getMap() } package cellsociety.model; public class FireModel extends Model { public FireModel(File csvFile, File simFile, String language) protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) public void setProbCatch(double probCatch) public void setProbGrow(double probGrow) } package cellsociety.model; public class RockPaperScissorCell implements Cell { public static RockPaperScissorCell.RPSState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(RockPaperScissorCell.RPSState newState) public void setState(int state_num) public RockPaperScissorCell.RPSState getState() public static List getRelations(int typeOfCell) public int getValueOfState() public Map getMap() } package cellsociety.model; public class GameOfLifeCell implements Cell { public static LifeState valueOf(int stateNum) public Map getMap() public int getValue() public void setState(LifeState newState) public void setState(int state_num) public LifeState getState() public int getAge() public void resetAge() public void incrementAge() public Map getMap() public int getValueOfState() } package cellsociety.model; public interface Cell { void setState(int state); int getValueOfState(); Map getMap(); } package cellsociety.model; public abstract class Model { public Model(File csvFile, File simFile, String language) public Grid step() protected abstract void actOnEachCell(int cellRow, int cellCol, Grid newGrid); protected void commonStep(Grid newGrid) public Grid getGrid() public String getType() protected GridParameters getParams() public Map getMap() public void changeCell(int row, int col) public abstract void changeParam(HashMap newVals); public Map getAttribute() public void changeNeighborType(String neighborType) public void changeEdgeType(String edgePolicy) } package cellsociety.model; public class RockPaperScissorModel extends Model { public RockPaperScissorModel(File csvFile, File simFile, String language) protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model; public class FallingSandCell implements Cell { public static FallingSandCell.FallingSandState valueOf(int stateNum) public int getValue() public Map getMap() public void setState(FallingSandState newState) public void setState(int state_num) public FallingSandState getState() public int getValueOfState() public void setHasMoved(Boolean bool) protected Boolean getHasMoved() public Map getMap() } package cellsociety.model; public class GameOfLifeModel extends Model { public GameOfLifeModel(File csvFile, File simFile, String language) protected void actOnEachCell(int cellRow, int cellCol, Grid newGrid) public void changeParam(HashMap newVals) } package cellsociety.model.neighbors; public class HexagonalNeighbors extends Neighbors { } package cellsociety.model.neighbors; public class FiniteNeighbor { public Cell neighbor(int neighborRow, int neighborCol, int cellRow, int cellCol, Grid grid) } package cellsociety.model.neighbors; public class VonNeumannNeighbors extends Neighbors { } package cellsociety.model.neighbors; public abstract class Neighbors { public List neighbors(int row, int col, Grid grid, String edgePolicy) protected void adder(int currRow, int currCol, int row, int col, Grid grid, Object o, } package cellsociety.model.neighbors; public class ToroidalNeighbor { public Cell neighbor(int neighborRow, int neighborCol, int cellRow, int cellCol, Grid grid) } package cellsociety.model.neighbors; public class KleinNeighbor { public Cell neighbor(int neighborRow, int neighborCol, int cellRow, int cellCol, Grid grid) } package cellsociety.model.neighbors; public class MooreNeighbors extends Neighbors { } package cellsociety.view; public class AboutFileSection extends VBox { public AboutFileSection(String language, String style, Stage stage, } package cellsociety.view; public class StartView extends View { public StartView(Stage stage, InitializationController controller) public String getMyLanguage() public String getMyStyle() public StageController getStageController() } package cellsociety.view.choicebox; public class StyleChoiceBox extends VBox implements CustomChoiceBox { public StyleChoiceBox(ResourceBundle resources) public void setOptions() public void createLabel() public String getUserInput() public ChoiceBox getMyStyleBox() } package cellsociety.view.choicebox; public class PolicyChoiceBox extends VBox implements CustomChoiceBox { public PolicyChoiceBox(String language, ResourceBundle resources, String type) public void setOptions() public void createLabel() public String getUserInput() public ChoiceBox getMyBox() } package cellsociety.view.choicebox; public interface CustomChoiceBox { public void setOptions(); public void createLabel(); public String getUserInput(); } package cellsociety.view.choicebox; public class EdgePolicyChoiceBox extends PolicyChoiceBox { public EdgePolicyChoiceBox(String language, ResourceBundle resources) } package cellsociety.view.choicebox; public class LanguageChoiceBox extends VBox implements CustomChoiceBox { public LanguageChoiceBox(ResourceBundle resources) public void createLabel() public ChoiceBox getMyLanguageChoice() public String getUserInput() public void setOptions() } package cellsociety.view.choicebox; public class NeighborPolicyChoiceBox extends PolicyChoiceBox { public NeighborPolicyChoiceBox(String language, ResourceBundle resources) } package cellsociety.view.user_input; public class UserInputWatorWorld { } package cellsociety.view.user_input; public class UserInputRockPaperScissor { } package cellsociety.view.user_input; public class UserInputFire { } package cellsociety.view.user_input; public class UserInputSegregation { } package cellsociety.view.user_input; public class UserInput { } package cellsociety.view; public class StageController { public void addStage(String name, Stage stage) public Stage getStage(String name) } package cellsociety.view.buttons; public class FileChooserButtonSIM extends CustomButton { public FileChooserButtonSIM(Stage stage) public File getFile() } package cellsociety.view.buttons; public class StepButton extends CustomButton { public StepButton(String language) } package cellsociety.view.buttons; public class PauseButton extends CustomButton { public PauseButton(String language) } package cellsociety.view.buttons; public class SubmitButton extends CustomButton { } package cellsociety.view.buttons; public abstract class CustomButton extends Button { public CustomButton(String label, String language) public void setLabel(String label) } package cellsociety.view.buttons; public class ExecuteButton extends CustomButton { public ExecuteButton(String language) } package cellsociety.view.buttons; public class FileChooserButtonCSV extends CustomButton { public FileChooserButtonCSV(Stage stage) public File getFile() } package cellsociety.view; public class TopInputSection extends HBox { public TopInputSection(ResourceBundle screenResources, String language, SimulationView sim, } package cellsociety.view; public class SimulationView extends View { public SimulationView(Stage stage, Model model, SimulationController controller, public void stopExecuteTillStopped() public void rerenderBoard() public void stepHandler() public void startExecuteTillStopped() public Stage getStage() public Scene getScene() public GridPane getPane() public List getRectangles() public void changeSpeedFactor(double speed) } package cellsociety.view; public class ErrorView { public static void showMessage(String message, ResourceBundle resources) public static void showMessage(String message) } package cellsociety.view.slider; public interface CustomSlider { public void setListener(ChangeListener changeListener); public void setLabel(String language); } package cellsociety.view.slider; public class AnimationSpeedSlider extends VBox implements CustomSlider { public AnimationSpeedSlider(String language) public void setListener(ChangeListener changeListener) public void setLabel(String language) } package cellsociety.view; public abstract class View { public static final String STYLESHEETS public View(Stage stage) public void setStyle(Scene scene, String file) public void centerItemX(Node node, double width) public void centerItemY(Node node, double height) } package cellsociety.view.colorpicker; public class GeneralCustomColorPicker { public GeneralCustomColorPicker(String Name, Color defaultColor) public ColorPicker getColorPicker() } package cellsociety.view; public class ReflectionUtilView extends ReflectionUtil { public CustomButton makeButtonSimView(String name, String language, SimulationView sim) } package cellsociety; public class ReflectionUtil { public Object makeObject(String className, Class[] constructorClasses, Object[] parameters) }