package cellsociety.config; public class SaveGame { public SaveGame(Stage stage) public void createXmlFile(String gameData) } package cellsociety.config; public class XmlManager { public XmlManager(File file) public String getConfigurationValue(String elementName) public Map getElementAttributes(String elementName) public boolean hasColorOverride() public List getColorOverride() public int[][] getInitialGrid() } package cellsociety.config; public class FileGrabber { public static final String DATA_FILE_FOLDER public static final FileChooser FILE_CHOOSER } package cellsociety; public class Main extends Application implements SceneSwitcher { public void start(Stage stage) public void switchToScene(Scene scene) public void addSimulationToCurrentScene(XmlManager xmlManager) public void loadSimulation(String action) } package cellsociety.model.cellularautomata; public interface CellularAutomata { Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood); } package cellsociety.model.cellularautomata.wator; public class WaTor implements CellularAutomata { public WaTor(int fishBreedTime, int sharkBreedTime, int sharkInitialEnergy, public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.percolation; public class Percolation implements CellularAutomata { public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.fallingsand; public class FallingSand implements CellularAutomata { public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.forestfire; public class ForestFire implements CellularAutomata { public ForestFire(double ignitionProbability, double growthProbability) public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.gameoflife; public class GameOfLife implements CellularAutomata { public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.segregation; public class Segregation implements CellularAutomata { public Segregation(double satisfactionThreshold) public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.cellularautomata.sugarscape; public class SugarScape implements CellularAutomata { public SugarScape(int[][] initialGrid) public Neighborhood applyRules(Neighborhood oldNeighborhood, Neighborhood newNeighborhood) } package cellsociety.model.utils.parser; public class SegregationParser implements Function { public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class GameOfLifeParser implements Function { public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class ForestFireParser implements Function { public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class SugarScapeParser implements Function { public SugarScapeParser(XmlManager xmlManager) public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class PercolationParser implements Function { public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class FallingSandParser implements Function { public Cell apply(Integer integer) } package cellsociety.model.utils.parser; public class WaTorParser implements Function { public WaTorParser(XmlManager xmlManager) public Cell apply(Integer integer) } package cellsociety.model.cell.wator; public class WaTorCell implements Cell { public WaTorCell(WaTorState state, int initialEnergy, int reproductionTime) public WaTorState getState() public int getEnergy() public void dropEnergy() public void increaseEnergy(int energyIncrease) public int getTimeUntilBreed() public void decreaseTimeUntilBreed() public void resetTime(int initialTime) } package cellsociety.model.cell.percolation; public class PercolationCell implements Cell { public PercolationCell(PercolationState state) public PercolationState getState() } package cellsociety.model.cell.fallingsand; public class FallingSandCell implements Cell { public FallingSandCell(FallingSandState state) public FallingSandState getState() } package cellsociety.model.cell.forestfire; public class ForestFireCell implements Cell { public ForestFireCell(ForestFireState state) public ForestFireState getState() } package cellsociety.model.cell.gameoflife; public class GameOfLifeCell implements Cell { public GameOfLifeCell(GameOfLifeState state) public GameOfLifeState getState() } package cellsociety.model.cell.segregation; public class SegregationCell implements Cell { public SegregationCell(SegregationState state) public SegregationState getState() } package cellsociety.model.cell; public interface Cell { Enum getState(); } package cellsociety.model.cell.sugarscape; public class SugarScapeAgent extends SugarScapeCell { public SugarScapeAgent(int sugar, int sugarMetabolism, int vision) public int getVision() public int getSugar() public void setSugar(int sugar) public int getSugarMetabolism() } package cellsociety.model.cell.sugarscape; public class SugarScapePatch extends SugarScapeCell { public SugarScapePatch(int maxSugarCapacity) public void grow() public int getSugar() public void setSugar(int sugar) } package cellsociety.model.cell.sugarscape; public abstract class SugarScapeCell implements Cell { public SugarScapeCell(SugarScapeState state) public SugarScapeState getState() } package cellsociety.model.neighborhood; public class Neighborhood { public Neighborhood(XmlManager xmlManager) public Neighborhood(int rows, int cols) public List getNeighbors(int row, int col) public List getNeighborsLocations(int row, int col, WaTorState state) public void setCell(int row, int col, Cell cell) public Cell getCell(int row, int col) public boolean inBounds(int row, int col) public Cell[][] getCells() public int getRows() public int getCols() public Map getStateCounts() } package cellsociety.view.forms; public class GameOfLifeForm extends GameForm { public GameOfLifeForm(Stage stage, XmlManager xmlManager, Cell[][] grid) protected void initializeForm(XmlManager xmlManager, Cell[][] grid) public String getFormData(XmlManager xmlManager, Cell[][] grid) protected int getState(Cell cell) } package cellsociety.view.forms; public class WaTorForm extends GameForm { public WaTorForm(Stage stage, XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public abstract class GameForm { public GameForm(Stage stage, XmlManager xmlManager, Cell[][] grid) public GridPane getFormPane() protected void initializeForm(XmlManager xmlManager, Cell[][] grid) public Stage getStage() protected void xmlInformationStrings(XmlManager xmlManager, String title, String author, protected void convertGridToXml(Cell[][] grid) protected void closeGridTags() protected void closeSimulationTag() protected TextField getAuthorTextField() protected TextField getTitleTextField() protected TextField getDescriptionTextField() protected StringBuilder getXmlData() protected void createInitialData(XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public class FallingForm extends PercolationForm { public FallingForm(Stage stage, XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public class SugarForm extends GameForm { public SugarForm(Stage stage, XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public class ForestFireForm extends GameForm { public ForestFireForm(Stage stage, XmlManager xmlManager, Cell[][] grid) protected String getFormData(XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public class SegregationForm extends GameForm { public SegregationForm(Stage stage, XmlManager xmlManager, Cell[][] grid) protected String getFormData(XmlManager xmlManager, Cell[][] grid) } package cellsociety.view.forms; public class PercolationForm extends GameForm { public PercolationForm(Stage stage, XmlManager xmlManager, Cell[][] grid) } package cellsociety.view; public interface Scene { void initScene(int width, int height); void update(double elapsedTime); javafx.scene.Scene getScene(); } package cellsociety.view; public class StartScene implements Scene { public StartScene(SceneSwitcher sceneSwitcher) public void initScene(int width, int height) public void update(double elapsedTime) public javafx.scene.Scene getScene() } package cellsociety.view; public interface SceneSwitcher { void switchToScene(Scene scene); void loadSimulation(String action); void addSimulationToCurrentScene(XmlManager xmlManager); } package cellsociety.view; public class ErrorHandler { public static void showError(String title, String message, AlertType type) } package cellsociety.view; public class CellScene implements Scene { public CellScene(SceneSwitcher sceneSwitcher, CellularAutomata cellularAutomata, public void initScene(int width, int height) public void renderGrid() public void initGameControls() public void addNewSimulation(Neighborhood neighborhood, CellularAutomata cellularAutomata, public void setPaused(boolean paused) public void setSpeed(double simulationSpeed) public void update(double elapsedTime) public javafx.scene.Scene getScene() } package cellsociety.view.colormapper; public class ForestFireMapper implements CellColorMapper { public ForestFireMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public class GameOfLifeMapper implements CellColorMapper { public GameOfLifeMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public class SegregationMapper implements CellColorMapper { public SegregationMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public class PercolationMapper implements CellColorMapper { public PercolationMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public class SugarScapeMapper implements CellColorMapper { public SugarScapeMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public class WaTorMapper implements CellColorMapper { public WaTorMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.colormapper; public interface CellColorMapper { Color getColorForCell(Cell cell); } package cellsociety.view.colormapper; public class FallingSandMapper implements CellColorMapper { public FallingSandMapper(XmlManager xmlManager) public Color getColorForCell(Cell cell) } package cellsociety.view.cellshape; public class CircularCell implements CellShape { public void createShape(double x, double y, double size, Color color, Group root) public double getSize(int rows, int columns, int height, int width) } package cellsociety.view.cellshape; public class TriangleCell implements CellShape { public void createShape(double x, double y, double size, Color color, Group root) public double getSize(int rows, int columns, int height, int width) } package cellsociety.view.cellshape; public interface CellShape { void createShape(double x, double y, double size, Color color, Group root); double getSize(int rows, int columns, int height, int width); default void addToScene(Shape shape, Color color, Group root) { shape.setFill(color); shape.setStroke(Color.BLACK); root.getChildren().add(shape); } package cellsociety.view.cellshape; public class RectangleCell implements CellShape { public void createShape(double x, double y, double size, Color color, public double getSize(int rows, int columns, int height, int width) }