package cellsociety.CornerLocationGenerator; public abstract class CornerLocationGenerator { public CornerLocationGenerator() public CornerLocationGenerator(int rows, int columns) public abstract List generateCorners(int i, int j); public double getVIEW_HEIGHT() public double getVIEW_WIDTH() } package cellsociety.CornerLocationGenerator; public class RectangleCellCornerLocationGenerator extends CornerLocationGenerator { public RectangleCellCornerLocationGenerator(int rows, int columns) public List generateCorners(int i, int j) } package cellsociety.CornerLocationGenerator; public class TriangleCellCornerLocationGenerator extends CornerLocationGenerator { public TriangleCellCornerLocationGenerator(int rows, int columns) public List generateCorners(int i, int j) } package cellsociety.CornerLocationGenerator; public class HexagonCellCornerLocationGenerator extends CornerLocationGenerator { public HexagonCellCornerLocationGenerator(int rows, int columns) public List generateCorners(int i, int j) } package cellsociety.location; public class CornerLocation { public CornerLocation(double x_pos, double y_pos) public void setX_pos(double x_pos) public void setY_pos(double y_pos) public double getX_pos() public double getY_pos() public String toString() public boolean equals(Object o) } package cellsociety.controller; public class Controller { public Controller() public void parseFile(File SimFile) public void addCellObserver(int row, int col, Consumer observer) public void saveFile(String fileName, Map propertyToValue) throws IOException public void setModel(Model model) public void setCellState(int row, int col, int state) public Cell getCell(int i, int j) public void step() public int[] getGridShape() public int getNumCells() public String getSimulationType() public void changeNeighborArrangement(String newArrangement) public void changeEdgePolicy(String newPolicy) public void changeShape(String shape) throws InvocationTargetException, IllegalAccessException } package cellsociety.Rule; public interface RulesInterface { public void setState() } package cellsociety.Rule; public abstract class Rules implements RulesInterface { public Rules(Cell cell) throws InputMismatchException public void setState() public void setCellState(int state) public void setCellStateZero() public void setCellStateOne() public void setCellStateTwo() public void move(int state) } package cellsociety.Rule; public class GameOfLifeRules extends Rules { public GameOfLifeRules(Cell cell, List args) throws InputMismatchException } package cellsociety.Rule; public class InvalidArgumentSizeException extends Exception { public InvalidArgumentSizeException(String errorMessage) } package cellsociety.Rule; public class SegregationRules extends Rules { public SegregationRules(Cell cell, List args) throws InputMismatchException public void setState() public void moveCell() public void moveRandom(Cell cell) public Cell findOpenCell(Cell c) public int chooseRandomIndex(int size) public int numberOfNeighborsWithSameState() public int numberOfNeighborsWithOtherState() } package cellsociety.Rule; public class SpreadingOfFireRules extends Rules { public SpreadingOfFireRules(Cell cell, List args) throws InputMismatchException public void setState() } package cellsociety.Rule; public class PercolationRules extends Rules { public PercolationRules(Cell cell, List args) throws InputMismatchException } package cellsociety.Rule; public class PredatorPreyRules extends Rules { public PredatorPreyRules(Cell cell, List args) throws InputMismatchException public void setState() public void checkReproduction() public void ifCurrentStateOne() public void ifCurrentStateTwo() } package cellsociety.Utilities.CSVParser; public abstract class CSVParser { public File getFile() public void setFile(File file) throws InputMismatchException public abstract List getCellStates(String simType) public List getValidStatesList(String simType) public int getRows() public int getCols() public void setRows(int rows) public void setCols(int cols) } package cellsociety.Utilities.CSVParser; public class DefaultCSVParser extends CSVParser { public List getCellStates(String simType) } package cellsociety.Utilities.CSVParser; public class RawNumsCSVParser extends CSVParser { public RawNumsCSVParser() public List getCellStates(String simType) } package cellsociety.Utilities.CSVParser; public class InvalidDimensionException extends Exception { public InvalidDimensionException() } package cellsociety.Utilities.CSVParser; public class IllegalRowSizeException extends Exception { public IllegalRowSizeException() } package cellsociety.Utilities.CSVParser; public class ProbabilityCSVParser extends CSVParser { public List getCellStates(String simType) throws FileNotFoundException } package cellsociety.Utilities; public class CSVGenerator { public void createCSVFile(Model model, String filePath, String simType) throws IOException } package cellsociety.Utilities; public class SimGenerator { public SimGenerator(Properties simInfo) public void createSimFile(String fileName, Map propertyToValue) } package cellsociety.Utilities; public class SimParser { public SimParser() public void setupKeyValuePairs(File simFile) throws InputMismatchException, NullPointerException public Properties getSimulationConfig() } package cellsociety.cell; public class PercolationCell extends Cell { public PercolationCell(int i, int j, int initialState, int rows, int cols) } package cellsociety.cell; public class SegregationCell extends Cell { public SegregationCell(int i, int j, int initialState, int rows, int cols) } package cellsociety.cell; public interface ImmutableCell { public int getjIndex(); public int getiIndex(); public int getCurrentState(); public int getFutureState(); public List getCorners(); public int iIndexDifference(Cell potentialNeighbor); public int jIndexDifference(Cell potentialNeighbor); public int numOfStateNeighbors(int state); public Cell getNeighborOfState(int state, int num); public int getChrononCounter(); public int getEnergy(); } package cellsociety.cell; public class PredatorPreyCell extends Cell { public PredatorPreyCell(int i, int j, int initialState, int rows, int cols) public void updateChronon() public void resetChronon() public void gainEnergy() public void loseEnergy() public void setChrononCounter(int chrononCounter) public int getChrononCounter() public int getEnergy() public void setEnergy(int energy) } package cellsociety.cell; public class FireCell extends Cell { public FireCell(int i, int j, int initialState, int rows, int cols) } package cellsociety.cell; public class CellDisplay { public CellDisplay(double x, double y, int state, Controller myController) public CellDisplay(double x, double y, double width, double height, int state, public CellDisplay(double[] cornerXYs, int state, Controller myController) public void setCell(ImmutableCell cell) public void setColors(Color[] colors) public void setWidth(int width) public void setHeight(int height) public void setX(int x) public void setY(int y) public Node getMyDisplay() public void changeState(int state) public Color[] getStateColors() public int getState() public Color getMyColor() } package cellsociety.cell; public class IllegalCellStateException extends Exception { public IllegalCellStateException(String errorMessage) public IllegalCellStateException() } package cellsociety.cell; public class GameOfLifeCell extends Cell { public GameOfLifeCell(int i, int j, int initialState, int rows, int cols) } package cellsociety.cell; public class Cell implements ImmutableCell { public Cell(int i, int j, int initialState, int rows, int columns) public Cell(int i, int j, int initialState, int rows, int columns, String shape) public int getjIndex() public int getiIndex() public void changeShape(String shape, int rows, int columns) public void setNoNeighbors() public void addObserver(Consumer observer) public void setFutureState(int state) public int getCurrentState() public int getFutureState() public List getCorners() public void updateNeighbors(Cell potentialNeighbor, List numCornersShared) public void updateNeighborsFinite(int rows, int cols, Cell potentialNeighbor, public void updateNeighborsToroidal(int rows, int cols, Cell potentialNeighbor, public void updateNeighborsMirror(int rows, int cols, Cell potentialNeighbor, public int iIndexDifference(Cell potentialNeighbor) public int jIndexDifference(Cell potentialNeighbor) public void addUniqueNeighborToList(Cell potentialNeighbor) public int numOfStateNeighbors(int state) public void updateCellNeighborStateMap() public List getNeighbors() public Cell getNeighborOfState(int state, int num) public boolean equals(Object o) public int hashCode() public void updateChronon() public void resetChronon() public void gainEnergy() public void loseEnergy() public void setChrononCounter(int chrononCounter) public int getChrononCounter() public int getEnergy() public void setEnergy(int energy) } package cellsociety; public class Main extends Application { public double getVersion() public void start(Stage stage) } package cellsociety.Model; public class Model { public Model() public void setupCells(List cellStateList, int rows, int cols) public void updateModel() public void changeShapeOfCells(String shape) public void updateNeighborArrangement(String arrangement) public void setSimulationInfo(Properties simulationInfo) public Cell getCell(int row, int col) public int getRows() public int getCols() public void findNextStateForEachCell() public void createModelStateMap() public String getSimulationType() } package cellsociety.view; public class SettingsDisplay extends ChangeableDisplay { public SettingsDisplay(Controller controller, LanguageResourceHandler l, public Node createSettingsDisplay() public void changeAnimationSpeed(double newFramesPerSecond) public double getAnimationSpeed() } package cellsociety.view; public class SimulationDisplay extends ChangeableDisplay { public SimulationDisplay() public SimulationDisplay(LanguageResourceHandler l) public Node makeDisplay(File SimFile) public void step() public double getAnimationSpeed() public List getAllCellDisplays() public void changeCellShapes(String s) public Node getMyNode() public void showInfoDisplay(boolean visible) public void showGrid(boolean visible) public void showHistogram(boolean visible) } package cellsociety.view; public class FileSavePopup extends ChangeableDisplay { public FileSavePopup(LanguageResourceHandler lrh, Controller controller) public void makePopup() } package cellsociety.view; public class InfoDisplay extends ChangeableDisplay { public InfoDisplay(Map stateToCount, LanguageResourceHandler l) public Node createInfoDisplay() public void setNumOfEachType(Map stateToCount) public Map getStateToNumChangeLabel() } package cellsociety.view; public abstract class ChangeableDisplay { public ChangeableDisplay() public ChangeableDisplay(LanguageResourceHandler l) public Button makeAButton(String ResourceKey, ButtonClickedMethod method) public Label makeALabel(String resourceKey) public Node makeOptionsBox(String labelResourceKey, Collection options, public void changeLanguageResourceHandler(LanguageResourceHandler newHandler) public String getExpectedTextforNode(NodeWithText n) public LanguageResourceHandler getMyResourceHandler() public void setVisible(boolean visible) public Node getMyNode() } package cellsociety.view.ViewUtilities; public class Label2 extends Label implements NodeWithText { public Label2(String text) } package cellsociety.view.ViewUtilities; public interface NodeWithText { public void setText(String newText); public String getText(); } package cellsociety.view.ViewUtilities; public interface ButtonClickedMethod { public void actionOnClick(); } package cellsociety.view.ViewUtilities; public class Button2 extends Button implements NodeWithText { public Button2(String text) } package cellsociety.view; public class CellGridDisplay extends ChangeableDisplay { public CellGridDisplay(Controller controller) public Node createGridDisplay() public void changeCellShapes(String newShape) public List getAllCellDisplays() } package cellsociety.view; public class MainView extends ChangeableDisplay { public MainView() public void setStage(Stage s) public Scene makeSimulationScene() public void handleSelectedFile(File selectedFile) public void run() public void run() public SimulationDisplay getSimDisplay() } package cellsociety.view; public class HistogramDisplay extends ChangeableDisplay { public HistogramDisplay(int numCells, Map stateToCount, public Node createHistogramDisplay() public void setNumOfEachType(Map stateToCount) public Map getHistogramBars() } package cellsociety.resourceHandlers; public class CSSidHandler { public CSSidHandler() public String getStringFromKey(String key) } package cellsociety.resourceHandlers; public class LanguageResourceHandler { public LanguageResourceHandler() public String getSettingsString() public String getAboutString() public String getLanguageString() public String getSelectFileString() public String getStartSimulationsString() public String getChangeEnglishString() public String getChangeSpanishString() public String getSelectFileTitleString() public void changeLanguage(String newLanguage) public String getStringFromKey(String key) public Collection getSupportedLanguages() } package cellsociety.resourceHandlers; public class ViewResourceHandler { public ViewResourceHandler() public int simulationWidth() public int simulationHeight() public int getWindowWidth() public int getWindowHeight() public int getMinFramesPerSecond() public int getMaxFramesPerSecond() public int getHistogramWidth() public int getMaxHistogramBarHeight() public int getDistanceBetweenHistogramBars() public int getViewSettingValueFromKey(String key) public Color[] getColorsForSimulation(String simulationType) public CornerLocationGenerator getCornerLocationGenerator(String shape, int numRows, public List getCellShapes() public List getEdgePolicies() public List getNeighborArrangements() }