package cellsociety.alternativeModel; public class Grid implements ImmutableTypeGrid{ public Grid(int X, int Y, AbstractCell defaultCell) public Grid(int X, int Y) public AbstractCell getCellAt(int X, int Y) throws AssertionError public CellType getTypeTagAt(int X, int Y) throws AssertionError, NullPointerException public void putCellAt(int X, int Y, AbstractCell newCell) public int getMaxX() public int getMaxY() } package cellsociety.alternativeModel; public abstract class AbstractGameModel { public AbstractGameModel(Grid inputGrid) throws NullPointerException protected Map getMooreNeighbours(int X, int Y) protected Map getVonNeumannNeighbours(int X, int Y) protected AbstractCell getCellAt(int X, int Y) protected void putCellAt(int X, int Y, AbstractCell cell) protected void setGrid(Map newGrid) public abstract void step(); public ImmutableTypeGrid lookCurrentGrid() public int getMaxX() public int getMaxY() public ResourceBundle getMyErrorResources() } package cellsociety.alternativeModel.cell.gameOfLifeCells; public class AliveCell extends StationaryCell { public AliveCell() public StationaryCell update(Map neighbours) } package cellsociety.alternativeModel.cell.gameOfLifeCells; public class DeadCell extends StationaryCell { public DeadCell() public StationaryCell update(Map neighbours) } package cellsociety.alternativeModel.cell; public abstract class StationaryCell extends AbstractCell{ public StationaryCell() protected int countNeighbour(CellType type, Map neighbours) public abstract StationaryCell update(Map neighbours); } package cellsociety.alternativeModel.cell; public class EmptyCell extends AbstractCell{ public EmptyCell() } package cellsociety.alternativeModel.cell; public abstract class AbstractCell { public AbstractCell() public CellType getType() protected void setType(CellType type) } package cellsociety.alternativeModel; public record Coordinate(int x, int y) {} } package cellsociety.alternativeModel; public interface ImmutableTypeGrid { CellType getTypeTagAt(int X, int Y); } package cellsociety.alternativeModel; public class StationaryGameModel extends AbstractGameModel{ public StationaryGameModel(Grid inputGrid) public void step() } package cellsociety.controller; public class CellSociety { public CellSociety() } package cellsociety.controller; public class DataFileParser { public DataFileParser(File dataFile) public static Properties parseSimFile(String simulationFile) public Grid gridAssembly(Properties simulationPropertiesFile) public static List readAllCSVDataAtOnce(String file) public int sumCSVData(Reader dataReader) } package cellsociety.controller; public class SplashController { public void startGUIfromSplash() public void saveMainStage(Stage stage) public void saveMainScene(Scene scene) public void setUIStyling(String s) public void setLangChosen(String s) } package cellsociety.controller; public class Controller { public List> initialCellStateGrid public Controller() public Scene startGUI() public GUI getSimGUI() public void setUpAllGameProperties() public int findGridHeight() public int findGridWidth() public List> makeInitialGridDisplayStatesFromStateList() } package cellsociety.controller; public class ErrorChecker { } package cellsociety.controller; public class TypeSetup { } package cellsociety.controller; public class SimInfoParser implements SimInfoProps { public Properties parseSimFileProvided(String fileName, Boolean checkRequiredInfo) } package cellsociety.controller; public class CSVInitialGridParser { public static List readAllDataAtOnce(String file) } package cellsociety.controller; public class GameState { public GameState(Controller controller) public List> getCellStateGrid() public String getSimulationTitle() public void setCellStateGrid(List> stateGrid) public int getGridHeight() public int getGridWidth() public String getGameAuthor() public String getGameDescription() public String getGameType() } package cellsociety.controller; public interface SimInfoProps { Properties parseSimFileProvided(String fileName, Boolean checkRequiredInfo); } package cellsociety; public class Main extends Application { public void start (Stage primaryStage) public double getVersion () } package cellsociety; public class CellMap { protected static HashMap CreateMap(List cells, List cellStatuses) protected static Set> AllCells(HashMap activeMap) } package cellsociety.model; public abstract class BaseSimProcessor { } package cellsociety.view; public class FileChooser { public static final String DATA_FILE_FOLDER public static FileChooser getInstance() public void promptFileChooser() public File getDataFile() } package cellsociety.view.buttons; public class SaveFileButton extends GUIButton { public SaveFileButton(String btnText, String iconID) } package cellsociety.view.buttons; public abstract class GUIButton { public GUIButton(String buttonText, String iconID) public Node getButton() } package cellsociety.view.buttons; public class LoadFileButton extends GUIButton { public LoadFileButton(String btnText, String iconID) } package cellsociety.view.buttons.animation_control; public class PlayPauseButton extends GUIButton { public PlayPauseButton(String btnText, String iconID) } package cellsociety.view.buttons.animation_control; public class StepForwardButton extends GUIButton { public StepForwardButton(String btnText, String iconID) } package cellsociety.view; public class SpeedSelector { public SpeedSelector() public Node getGraphic() } package cellsociety.view; public class SimInformationDisplay { public SimInformationDisplay(String gameType, String gameTitle, String gameAuthor, String gameDescription) public Text getGraphic() } package cellsociety.view; public class GUI { public static final GUIPropertiesLoader properties public GUI(GameState gameState) public Scene setupScene() } package cellsociety.view; public class GUIPropertiesLoader { public GUIPropertiesLoader() public int getGUIProperty(String key) public int getButtonProperty(String key) public String getColorProperty(int key) } package cellsociety.view; public class SplashScreen { public SplashScreen(SplashController sc) public Scene createScene() public Text setSplashText(String text, int fontSize, Color color) public HBox makeLanguageButtons() public HBox makeAppButtons() public HBox makeStyleOptions() } package cellsociety.view.grid; public class GridCellColorMap { public GridCellColorMap() public Color getColor(int colorIndex) public void replaceColor(int key, String color) } package cellsociety.view.grid; public class GridDisplay { public GridDisplay(int rows, int cols) public void updateGridVisualization(List> cellStates) public List> getCellStates() public void initializeGrid() public GridPane getGrid() } package cellsociety.view.grid; public class GridCell { public GridCell(int squareSize, Color color) public Rectangle getGraphic() public void setDefaultStyle() } package cellsociety; public class Games { protected static void GameOfLife(Set> modelSet, HashMap lifeMap) } package cellsociety; public record Cell(int xCoordinate, int yCoordinate) { }