package cellsociety; public class GridModelCreationException extends RuntimeException { public GridModelCreationException(String simType) } package cellsociety.exceptions; public class SimModelCreationException extends RuntimeException { public SimModelCreationException(String simType) } package cellsociety.exceptions; public class NeighborhoodSelectionException extends RuntimeException { public NeighborhoodSelectionException(String type) } package cellsociety.exceptions; public class DataClassCreationException extends RuntimeException { public DataClassCreationException(String simType) } package cellsociety.exceptions; public class CellCreationException extends RuntimeException { public CellCreationException(String msg) public CellCreationException() } package cellsociety.controller; public class Handler { public Handler(Controller theController, Stage stage, FileChooser fileChooser, View view) public void step() public void cycleCell(int row, int column) public void openNewWindow() public void openNewSim() public void saveFile(String title, String author, String description, String simType, Model model) public void playAnimation() public void pauseAnimation() } package cellsociety.controller; public class Controller { public Controller(String language, String simType) public Scene launchSim(Properties simProperties, CSVData csvData) public void promptNextStateCalcs() public void promptCycleState(int row, int column) public void updateToNextState() public void updateToNextStateSingle(int row, int column) public void changeNeighborhoodType(String type) public void changeBoundaryType(boolean bounded) public Model getModel() public void setAdjustableParameters(String params) } package cellsociety.controller; public class CSVData { public CSVData(File csvFile) throws FileNotFoundException public CSVData(List lst) public List getCSVData() public int getNumRows() public int getNumCols() } 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 GridModel implements Iterable{ public GridModel(int numRows, int numCols) public void setCellInGrid(int cellRow, int cellCol, Cell cell) public void checkCellListSize(List cells) public int getRows() public int getColumns() public Cell getCell(int row, int col) public int getNumCellsOfState(int state) public int getNumCellsOfNextState(int nextstate) public Iterator iterator() } package cellsociety.model; public class StateMap { public void addState(int state, Class cellClass) public Class getClassFromState(int state) public boolean isValidState(int state) public int getNumStates() protected Map> getStateToCell() } package cellsociety.model.watorworld.cells; public class SharkCell extends WatorWorldCell { public SharkCell(Data data) public SharkCell(SharkCell toCopy) public void calcNextState() public boolean isDying() public boolean isMoving() public boolean isReproducing() public SharkCell getMovingTo() public int getMyTicksSinceReproduced() public int getMyTicksSinceEaten() } package cellsociety.model.watorworld.cells; public class FishCell extends WatorWorldCell { public FishCell(Data data) public FishCell(FishCell toCopy) public void calcNextState() public boolean isMoving() public boolean isReproducing() public FishCell getMovingTo() public int getMyTicksSinceReproduced() } package cellsociety.model.watorworld.cells; public abstract class WatorWorldCell extends Cell { public WatorWorldCell(Data data) protected WatorWorldCell findNeighborItCanMoveTo() throws NoSuchElementException public WatorWorldData getData() } package cellsociety.model.watorworld.cells; public class WaterCell extends WatorWorldCell { public WaterCell(Data data) public void calcNextState() } package cellsociety.model.watorworld; public class WatorWorldData implements Data { public int getEnergyFromFish() public void setEnergyFromFish(String energyFromFish) public int getSharkMaxEnergy() public void setSharkMaxEnergy(String sharkMaxEnergy) public int getSharkTicks() public void setSharkTicks(String sharkTicks) public int getFishTicks() public void setFishTicks(String fishTicks) } package cellsociety.model.watorworld; public class WatorWorldSimModel extends SimModel { public WatorWorldSimModel(GridModel grid) public StateMap initializeStateMap() public void calculateNextStateAll() public void cycleState(int row, int column) public void setSharkMaxEnergy(int maxE) public void setEnergyFromFish(int fishE) public void setSharkReproduceTicks(int ticks) public void setFishReproduceTicks(int ticks) } package cellsociety.model.percolation.cells; public class FluidCell extends Cell { public FluidCell() public void calcNextState() } package cellsociety.model.percolation.cells; public class EmptyCell extends Cell { public EmptyCell() public void calcNextState() } package cellsociety.model.percolation.cells; public class RockCell extends Cell { public RockCell() public void calcNextState() } package cellsociety.model.percolation; public class PercolationGridModel extends GridModel { public PercolationGridModel(int numRows, int numCols) public void setCellNeighbors(int row, int col) } package cellsociety.model.percolation; public class PercolationSimModel extends SimModel { public PercolationSimModel(GridModel gridModel) public StateMap initializeStateMap() } package cellsociety.model; public interface Data { } package cellsociety.model.fire; public class FireData implements Data { public void setTreeBurnProbability(String prob) public void setTreeGrowProbability(String prob) public void setTicksToBurn(String ticks) public double getTreeBurnProbability() public double getTreeGrowProbability() public int getTicksToBurn() } package cellsociety.model.fire; public class FireSimModel extends SimModel { public FireSimModel(GridModel gridModel) public void setTreeBurnProbability(double prob) public double getTreeBurnProbability() public void setTreeGrowProbability(double prob) public double getTreeGrowProbability() public void setTicksToBurn(int ticks) public int getTicksToBurn() public StateMap initializeStateMap() } package cellsociety.model.fire.cells; public abstract class BaseFireCell extends Cell { public BaseFireCell(Data data) protected FireData getData() } package cellsociety.model.fire.cells; public class BurnCell extends BaseFireCell { public BurnCell(Data data) public void calcNextState() } package cellsociety.model.fire.cells; public class EmptyCell extends BaseFireCell { public EmptyCell(Data data) public void calcNextState() } package cellsociety.model.fire.cells; public class TreeCell extends BaseFireCell { public TreeCell(Data data) public void calcNextState() } package cellsociety.model.fire; public class ImmutableFireData implements Data{ public ImmutableFireData(Double growProb, Double burnProb, Integer burnTick) public double getBurnProbability() public double getGrowProbability() public int getNumTicks() } package cellsociety.model.gameoflife.cells; public class LiveCell extends Cell { public LiveCell() public void calcNextState() } package cellsociety.model.gameoflife.cells; public class DeadCell extends Cell { public DeadCell() public void calcNextState() } package cellsociety.model.gameoflife; public class GameOfLifeSimModel extends SimModel { public GameOfLifeSimModel(GridModel gridModel) public StateMap initializeStateMap() } package cellsociety.model.rockpaperscissor; public class RockPaperScissorSimModel extends SimModel { public RockPaperScissorSimModel(GridModel gridModel) public StateMap initializeStateMap() public void setThresholdWinningNeighbors(int threshold) public int getThresholdWinningNeighbors() } package cellsociety.model.rockpaperscissor.cells; public class PaperCell extends RockPaperScissorCell { public PaperCell(Data data) public void calcNextState() } package cellsociety.model.rockpaperscissor.cells; public class ScissorsCell extends RockPaperScissorCell { public ScissorsCell(Data data) public void calcNextState() } package cellsociety.model.rockpaperscissor.cells; public abstract class RockPaperScissorCell extends Cell { public RockPaperScissorCell(Data data) protected int getWinnerCellState() public int getThresholdWinningNeighbors() public void setThresholdWinningNeighbors(int newThresh) protected RockPaperScissorData getData() } package cellsociety.model.rockpaperscissor.cells; public class RockCell extends RockPaperScissorCell { public RockCell(Data data) public void calcNextState() } package cellsociety.model.rockpaperscissor; public class RockPaperScissorData implements Data { public void setThresholdWinningNeighbors(String t) public int getThresholdWinningNeighbors() } package cellsociety.model; public abstract class SimModel { public SimModel(GridModel gridModel) public void setSimProperties(Properties prop) public void setParams(String params) public void initializeParameters() public Cell makeCellType(int state) throws CellCreationException public abstract StateMap initializeStateMap(); public StateMap getStateMap() public void setType(SimType type) public SimType getType() public void setGameData(Data data) public void calculateNextStateAll() public void cycleState(int row, int column) protected GridModel getGridModel() public Data getGameData() } package cellsociety.model.segregation.cells; public class SegregationAgent2Cell extends SegregationCell { public SegregationAgent2Cell(Data data) public void calcNextState() } package cellsociety.model.segregation.cells; public abstract class SegregationCell extends Cell { public SegregationCell(Data data) protected boolean isSatisfied() public void setExistsAvailableCell(boolean exists) protected boolean getExistsAvailableCell() public SegregationData getData() } package cellsociety.model.segregation.cells; public class SegregationEmptyCell extends SegregationCell { public SegregationEmptyCell(Data data) public void calcNextState() } package cellsociety.model.segregation.cells; public class SegregationAgent1Cell extends SegregationCell { public SegregationAgent1Cell(Data data) public void calcNextState() } package cellsociety.model.segregation; public class SegregationSimModel extends SimModel { public SegregationSimModel(GridModel grid) public StateMap initializeStateMap() public void calculateNextStateAll() public int getNumAvailableEmptyCells() public void setSatisfactionThreshold(double threshold) public double getSatisfactionThreshold() } package cellsociety.model.segregation; public class SegregationData implements Data { public void setSatisfactionThreshold(String t) public double getSatisfactionThreshold() } package cellsociety.model; public class NeighborGenerator { public NeighborGenerator(GridModel gridModel, String type) public void setAllCellNeighbors() public void setCellNeighbors(int row, int col) public void setNewNeighborLayout(String type) throws NeighborhoodSelectionException public void setBoundaryCondition(boolean isBoundless) } package cellsociety.model; public abstract class Cell { protected void setState(int state) public int getState() public void setNextStateCell(Cell nextState) public Cell getNextStateCell() public List getNeighbors() public void addNeighbor(Cell cell) public void addMutualNeighbors(List neighbors) public void setMutualNeighborsSingle(Cell otherCell) public int getNumNeighbors() public void setRowCol(int row, int col) public int getRow() public int getCol() public abstract void calcNextState(); public int getNumMatchingNeighbors() public Map getNeighboringStates() public int getNeighboringStatesEqualTo(int state) public String getNeighborsString() public String getNeighborsCoordsString() public void clearNeighbors() public void cycleState(int newState, Class classFromState) } package cellsociety.model; public class Model { public void setupSim(Properties simProperties, CSVData csvData) public void calculateNextStateAll() public void cycleState(int row, int column) public void updateToNextStateSingle(int row, int col) public void updateNextStateAll() public GridModel getGridModel() public SimModel getSimModel() public void setNewNeighborLayout(String type) public void setBoundaryCondition(boolean isBoundless) public String translateTypeString(String type) public static ResourceBundle getTypeTranslations() } package cellsociety.view; public class CellRectangle extends Rectangle { public CellRectangle(double x, double y, double width, double height, Cell cell, GridView gridView) public Cell getCellData() public void setCell(Cell cell) } package cellsociety.view; public class GridView { public GridView(int rows, int cols, View view) public void makeGridCellRectangles(GridModel gridModel) public Group getGridViewRoot() public void updateCellColor(int index, Cell cell) public void changeColorMap(int colorNumber, Color newColor) public void cycleCell(Cell cell) } package cellsociety.view; public class HBoxCreator extends HBox{ public HBoxCreator(View theView) public HBox createBottomFire() throws IOException public HBox createBottomWator() throws IOException public HBox createBottomRPS() throws IOException public HBox createBottomSegregation() throws IOException public HBox createBottomGOL() public Slider createSlider(String name) throws IOException } package cellsociety.view; public class View { public View(Controller controller, String language, String simType) public Scene makeScene(Model myModel) public GridView setupGridView(GridModel gridModel) public GridView getGridView() public VBox createLeft() public void cycleCell(int row, int column) public String getResource(String key) public String getLanguage() public String getSimType() public void launchNewSimSameWindow(Properties simProperties, CSVData csvData) } package cellsociety.view.neighborConfiguration; public class BoundaryCustomization extends ComboBox { public BoundaryCustomization(Controller controller, String boundaryDefault) } package cellsociety.view.neighborConfiguration; public class NeighborCustomization extends ComboBox { public NeighborCustomization(Controller controller, String neighborType) } package cellsociety.view.neighborConfiguration; public class NeighborConfigurationVBox extends VBox { public NeighborConfigurationVBox(ResourceBundle myResources, Controller myController, String mySimType) } package cellsociety.view; public class SplashScreen { public static final String DATA_FILE_FOLDER public SplashScreen(FileChooser fChooser) public Scene makeScene(Stage stage) public HBox createCenter(Stage stage) public File getFile() }