package cellsociety.util; public class IncorrectCSVFormatException extends Exception{ public IncorrectCSVFormatException(String message) } package cellsociety.util; public class IncorrectSimFormatException extends Exception { public IncorrectSimFormatException(String s) } package cellsociety.util; public class ReflectionException extends Exception{ public ReflectionException() public ReflectionException(String message) } package cellsociety.controller; public class GameController { public GameController(String simFilename) public void setupProgram() public void setupListener(GridView view) public void showInitialStates() throws ReflectionException public void runSimulation() throws ReflectionException public Map getConfigurationMap() public int[] getGridSize() public void calculateIndexesAndUpdateModel(double x, double y, int height, int width) public boolean saveCommand(String filename) public void loadNewFile(String filename) public boolean getContentFromFilename(String filename) public boolean validateSaveStringFilenameUsingIO(String filename) public boolean validateLoadStringFilenameUsingIO(String filename) } package cellsociety.controller; public class ConfigurationParser { public ConfigurationParser(String filename) public Map parseSim() } package cellsociety.controller; public class InputParser { public InputParser(String text, String type) public Cell[][] parseFile() } package cellsociety; public class Main extends Application { public static final Paint BACKGROUND = Color.web("#00539B"); public void start(Stage stage) } package cellsociety.model.cells; public class PercCell extends Cell { public PercCell(int cellState) public PercCell(Cell c) public PercCell(int cellState, int col, int row) public int getValue() } package cellsociety.model.cells; public class SegCell extends Cell{ public SegCell(int cellState) public SegCell(Cell copy) super(copy);} public SegCell(int cellState, int x, int y) public int getValue() } package cellsociety.model.cells; public class FireCell extends Cell { public FireCell(int cellState) public FireCell(Cell c) public FireCell(int cellState, int col, int row) public int getValue() } package cellsociety.model.cells; public class LifeCell extends Cell{ public LifeCell(int cellState) public LifeCell(Cell copy) public LifeCell(int cellState, int col, int row) public int getValue() } package cellsociety.model.cells; public class WatorCell extends Cell { public WatorCell(int cellState) public WatorCell(int cellState, int x, int y) public WatorCell(Cell copy) public int getValue() public int getMyEnergyChronons() public int getMyLifeChronons() public void incrementLifespan() public void resetLifespan() public void incrementEnergyAteFish() public void incrementEnergy() public void resetEnergy() } package cellsociety.model.cells; public abstract class Cell { public Cell(int cellState) public Cell (int cellState, int cellX, int cellY) public Cell(Cell copy) public int getMyY() public int getMyX() public void setMyX(int x)myX=x;} public void setMyY(int y) myY=y;} public int getMyCellState() public void setMyCellState (int myCellState) } package cellsociety.model.shapes; public class Hexagon implements Shape{ public Hexagon() } public int[][] determineEdges() public int[][] determineOtherNeighbors() return new int[][]};} } package cellsociety.model.shapes; public class Square implements Shape { public Square() } public int[][] determineEdges() public int[][] determineOtherNeighbors() } package cellsociety.model.shapes; public interface Shape { public int[][] determineEdges(); public int[][] determineOtherNeighbors(); } package cellsociety.model.edgePolicy; public class FiniteEdge extends Edge { public FiniteEdge(int row, int col, int height, int width) public int[] checkBoundary(int row, int col) } package cellsociety.model.edgePolicy; public abstract class Edge { public Edge(int row, int col, int height, int width) public int[] validateCoordinates(int checkRow, int checkCol) public abstract int[] checkBoundary(int row, int col); } package cellsociety.model.edgePolicy; public class ToroidalEdge extends Edge { public ToroidalEdge(int row, int col, int height, int width) public int[] checkBoundary(int row, int col) } package cellsociety.model.neighborClasses; public class CompleteNeighbors extends NeighborPolicy { public CompleteNeighbors(Shape s, Edge e) public int[][] computeNeighborCoordinates(int row, int col) } package cellsociety.model.neighborClasses; public abstract class NeighborPolicy { public NeighborPolicy(Shape s, Edge e) public int[][] determineCoordinates(int row, int col) } package cellsociety.model.neighborClasses; public class CardinalNeighbors extends NeighborPolicy { public CardinalNeighbors(Shape s, Edge e) public int[][] computeNeighborCoordinates(int row, int col) } package cellsociety.model.gamegrids; public class SegGrid extends GameGrid { public SegGrid(Cell[][] gameGrid, String type, Map configurationMap) public void runGame () throws ReflectionException } package cellsociety.model.gamegrids; public class FireGrid extends GameGrid { public FireGrid(Cell[][] gameGrid, String type, Map configurationMap) public void runGame() throws ReflectionException } package cellsociety.model.gamegrids; public class WatorGrid extends GameGrid { public WatorGrid(Cell[][] gameGrid, String type, Map configurationMap) public void runGame() throws ReflectionException } package cellsociety.model.gamegrids; public class LifeGrid extends GameGrid { public LifeGrid(Cell[][] gameGrid, String type, Map configurationMap) public void runGame() throws ReflectionException } package cellsociety.model.gamegrids; public class PercGrid extends GameGrid { public PercGrid(Cell[][] gameGrid, String type, Map configurationMap) public void runGame() throws ReflectionException } package cellsociety.model.gamegrids; public abstract class GameGrid { public GameGrid(Cell[][] gameGrid, String type) public void addListener(GridListener gl) public void updateInitialFutureGrid() throws ReflectionException public abstract void runGame() throws ReflectionException; public void updateOneCell(int row, int col) public int getCellValue(int row, int col) } package cellsociety.view.ui.controlpanel; public abstract class ControlPanel extends SharedUIComponents { public ControlPanel(int controlPanelX) } package cellsociety.view.ui.controlpanel; public class ViewControlPanel extends ControlPanel { public ViewControlPanel(int controlPanelX) public Node createViewControlPanel() } package cellsociety.view.ui.controlpanel; public class AnimationControlPanel extends ControlPanel { public AnimationControlPanel(Timeline animation, GameController gameController, int controlPanelX) public Node createAnimationControlPanel() } package cellsociety.view.ui.controlpanel; public class LoadControlPanel extends ControlPanel { public LoadControlPanel(Timeline animation, int controlPanelX) public Node createLoadControlPanel() } package cellsociety.view.ui; public class InformationPanel extends SharedUIComponents{ public InformationPanel(String type, String title, String author, String description) public Node createInformationPanel() } package cellsociety.view.ui; public abstract class SharedUIComponents { public void setPanelListener(PanelListener panelListener) } package cellsociety.view.ui; public class DetailsPanel extends SharedUIComponents { public DetailsPanel(int gridDisplayLength, String[] gridColours, String type, public Node createDetailsPanel() } package cellsociety.view; public class GameView extends Application implements PanelListener { public GameView(int width, int height, Paint background, String filename) public void start(Stage primaryStage) public void updateLanguage(String newLanguage) public void resetScreen() public void updateColorScheme(Color newColor) public void loadNewFile(String filename) public void saveCurrentFile() public void createGraph() } package cellsociety.view; public class GridView implements GridListener { public GridView(int height, int width, String[] gridColours, int gridDisplayLength) public GridPane getMyGameGrid() public int getMyCellWidth() public int getMyCellHeight() public int[] updateCellOnClick(double x, double y) public void update(int row, int column, int state) public void createPopulationGraph() } package cellsociety.view; public interface PanelListener { } package cellsociety.view.populationchart; public class PopulationChartView extends Application { public PopulationChartView(Map stateCount) @Override public void start(Stage stage) } package cellsociety.view.populationchart; public class PopulationChart extends SharedUIComponents { public PopulationChart() } package cellsociety.view; public interface GridListener { }