package cellsociety.util; public class MessageBean { public MessageBean(String name) public void addPropertyChangeListener(PropertyChangeListener listener) public void setProperty(Object newProperty) public void removePropertyChangeListener(PropertyChangeListener listener) public String getMessage() public void setMessage(String newValue) } package cellsociety.controller; public class Controller { public Controller() public void loadCSV(FileChooser csvChooser) public void setMainDisplay(String language, Stage stage, String gameType, int width, int height, public String loadAndParseSim() public void updateGraph(GameRuleInterface myRules) public void setInitialState(Properties simproperties) public void setOpeningDisplay(OpeningScreen openingDisplay) public void saveState() public void setTitle(String title) public void setAuthor(String author) public void setDescription(String description) public void setSimulationType(String type) public String getTitle() public String getAuthor() public String getDescription() public void setAnimationSpeed(double animationSpeed) public double getAnimationSpeed() public GraphMaintainer getGraphMaintainer() public GameRuleInterface getRules() public Parser getParser() public ArrayList getCellViewList() public void setDeadCellColor(Color deadCellColor) public void setAliveCellColor(Color aliveCellColor) public Color[] getColors() public void setThirdColor(Color thirdColor) public String formatStateColors() } package cellsociety; public class Main extends Application { public static final Dimension DEFAULT_SIZE = new Dimension(1400, 800); public void start(Stage stage) } package cellsociety.model.GameRules; public interface GameRuleInterface { public void updateCellNextVal(CellModel node); public int[] getStates(); } package cellsociety.model.GameRules; public class WaTorWorldRules implements GameRuleInterface { public WaTorWorldRules(int numTurns, int sharkEnergy) public void updateCellNextVal(CellModel node) public int[] getStates() } package cellsociety.model.GameRules; public class GameOfLifeRulesContainer implements GameRuleInterface { public GameOfLifeRulesContainer() public void updateCellNextVal(CellModel node) public void determineNextVal(CellModel golNode, int numAliveNeighbors) public int[] getStates() } package cellsociety.model.GameRules; public class FireRules implements GameRuleInterface { public FireRules(double p) public void updateCellNextVal(CellModel node) public int[] getStates() } package cellsociety.model.GameRules; public class PercolationRules implements GameRuleInterface { public void updateCellNextVal(CellModel node) public int[] getStates() } package cellsociety.model.GameRules; public class SegregationRulesContainer implements GameRuleInterface { public SegregationRulesContainer(double t, Collection g) public void updateCellNextVal(CellModel node) public int[] getStates() } package cellsociety.model.CellModels; public class PercolationCellModel extends CellModel { public PercolationCellModel(int row, int col, int n) } package cellsociety.model.CellModels; public class SegregationCellModel extends CellModel { public SegregationCellModel(int row, int col, int n) public int getNumAlikeNeighbors() public int getNumDifferentNeighbors() public void addToNeighbors(CellModel cell) public void setMyNeighbors(Collection neighbors) } package cellsociety.model.CellModels; public class FireCellModel extends CellModel { public FireCellModel(int row, int col, int n) } package cellsociety.model.CellModels; public class GameOfLifeCellModel extends CellModel { public GameOfLifeCellModel(int row, int col, int n) } package cellsociety.model.CellModels; public class CellModel { public CellModel(int row, int col, int n) public void setMyNeighbors(Collection heap) public void setMyVal(int n) public int getMyVal() public int getMyRow() public int getMyCol() public Collection getMyNeighbors() public int getNumAliveNeighbors() public void addToNeighbors(CellModel node) public void setNextVal(int n) public void setVal() public int getNextVal() public double getHeight() public double getWidth() public void setHeight(double height) public void setWidth(double width) public String toString() } package cellsociety.model.CellModels; public class WaTorCellModel extends CellModel { public WaTorCellModel(int row, int col, int n, int sharkE) public void incrementNumTurns() public void resetNumTurns() public int getNumTurns() public void setVal() public int getSharkEnergy() public void setSharkEnergy(int n) public void decrementSharkEnergy() public void incrementSharkEnergy() public void setNumTurns(int n) } package cellsociety.model.GameModels; public abstract class GridModel { public GridModel() public CellModel createCell(int id, int val)}; public void setNeighborhood(Neighborhood neighborhood, String shapeType) public void createCellArray() public void setPositionInCellArray(CellModel cell) public Collection getGraph() public int getMyGraphsize() public void createGraph() public int getMyGraphMaintainerSize() public void setMyNumRows(int dim) public void setMyNumCols(int dim) public int getMyNumCols() public int getMyNumRows() public abstract CellModel createCell(int row, int col, int val); public abstract GameRuleInterface getRules(); public String getShapeType() public GraphMaintainer getMyGraphMaintainer() } package cellsociety.model.GameModels; public class WaTorModel extends GridModel { public WaTorModel() public WaTorCellModel createCell(int row, int col, int val) public WaTorWorldRules getRules() } package cellsociety.model.GameModels; public class SegregationModel extends GridModel { public SegregationModel() public SegregationCellModel createCell(int row, int col, int val) public SegregationRulesContainer getRules() } package cellsociety.model.GameModels; public class GraphMaintainer { public GraphMaintainer() public void setMyRules(GameRuleInterface ruleSet) public void addCell(CellModel cell) public Collection updateGraph(Collection graph, GameRuleInterface myRules) public Collection getGraph() public int printGraph() public boolean isDoneRunning() public MessageBean getMyDoneRunningBean() } package cellsociety.model.GameModels; public class PercolationGameModel extends GridModel { public PercolationGameModel() public PercolationCellModel createCell(int row, int col, int val) public PercolationRules getRules() } package cellsociety.model.GameModels; public class FireModel extends GridModel { public FireModel() public FireCellModel createCell(int row, int col, int val) public FireRules getRules() } package cellsociety.model.GameModels; public class GameOfLifeModel extends GridModel { public GameOfLifeModel() public GameOfLifeCellModel parseCell(GameOfLifeCellModel newCell) public GameOfLifeCellModel createCell(int row, int col, int val) public GameOfLifeRulesContainer getRules() } package cellsociety.model.Neighborhoods; public abstract class Neighborhood { public Neighborhood() public abstract void initializeMap(); public List generateNeighbors(CellModel[][] myCellModelArray, int row, int col, public boolean inBounds(int row, int col, int numRows, int numCols) } package cellsociety.model.Neighborhoods; public class HexagonCellNeighborhood extends Neighborhood { public HexagonCellNeighborhood(String neighborhoodType, String edgeType) public void initializeMap() } package cellsociety.model.Neighborhoods; public class TriangleCellNeighborhood extends Neighborhood { public TriangleCellNeighborhood(String neighborhoodType, String edgeType) public void initializeMap() } package cellsociety.model.Neighborhoods; public class SquareCellNeighborhood extends Neighborhood { public SquareCellNeighborhood(String neighborhoodType, String edgeType) public void initializeMap() } package cellsociety.model.parser; public class Parser { public Parser() public void setModel(GridModel model) public Properties parseSim(File SIMFile) throws IOException public void parseCSV(File CSVFile) throws CsvValidationException, IOException public int[] StringArrayToIntArray(String[] stringArray) } package cellsociety.view.displays; public class SimulationManager { public SimulationManager(Controller myController, ApplicationDisplay applicationDisplay) public void step() public void startSimulation() public Map getColorMap() public void run() } package cellsociety.view.displays; public class ShapeArranger { } package cellsociety.view.displays; public class ApplicationDisplay { public ApplicationDisplay(Controller myController, String language) public Scene setupDisplay(int width, int height, String viewMode) public void setupCellGridPane(int currentRow, int currentCol, CellView cellView, public void createErrorAlert(String header, String content) public int getCanvasLength() public Scene getScene() } package cellsociety.view.ShapeView; public class TriangleView extends CellView { public TriangleView(Double lineLength, Integer row, Integer col, Integer n) public String getShapeName() public Shape getShape() } package cellsociety.view.ShapeView; public abstract class CellView { public CellView(int row, int col, int val) public void clicked(SimulationManager simulationManager) public int getRow() public int getCol() public void setVal(int val) public int getVal() public abstract String getShapeName(); public abstract Shape getShape(); } package cellsociety.view.ShapeView; public class HexagonView extends CellView { public HexagonView(Double width, Integer row, Integer col, Integer n) public String getShapeName() public Shape getShape() } package cellsociety.view.ShapeView; public class RectangleView extends CellView { public RectangleView(Double lineLength, Integer row, Integer col, Integer n) public String getShapeName() public Shape getShape() } package cellsociety.view.selectors; public class OpeningScreen { public OpeningScreen(Stage stage, int width, int height) public Scene setScene() public Scene getScene() }