package UI public class UserInput { public UserInput() public Button addButton(Group root, String text, int x, int y) public Slider addSlider(Group root, double min, double max, int x, int y, String label) public ComboBox addSim(Group root, int x, int y) public ComboBox addConfigDrop(Group root, int x, int y) public Group addGrid(int height, int width, Simulation currSim) } package cellsociety public abstract class Simulation { public void updateGrid() public void advanceGeneration(int num) public Cell getCell(int r, int c) public void printGridtoTerminal(Cell[][] grid) protected boolean runGame() protected abstract boolean checkEnd(int r, int c, CellType state) protected abstract CellType findNextState(int r, int c) protected void arraylistToState(List> list, CellType state) protected void initializeGrid(int height, int width, CellType state) protected void addCell(int r, int c, CellType state) protected int countNeighborsState(int row, int col, CellType state) } package cellsociety public class CellType { public CellType(String myColor) public CellType(CellType toClone) public String value() } package cellsociety.simulation public class GameOfLife extends Simulation { public GameOfLife(int height, int width, Map>> myMap) public CellType findNextState(int r, int c) public boolean checkEnd(int r, int c, CellType state) } package cellsociety.simulation public class Percolation extends Simulation { public Percolation(int height, int width, Map>> myMap) public CellType findNextState(int r, int c) public boolean checkEnd(int r, int c, CellType state) } package cellsociety.simulation public class WaTor extends Simulation { public Container() public boolean isAlive() public void eaten() public void advanceLife() public boolean canBreed() public void reset() public void print() public FishContainer() public void advanceLife() public boolean canBreed() public void reset() public void print() public SharkContainer() public void advanceLife() public void increaseEnergy() public boolean canBreed() public void reset() public void print() public WaTorCell(CellType state) public void eaten() public void ateFish() public void setNextInfo(Container nextInfo) public boolean isAlive() public void setEmpty() public void birthFish() public void birthShark() public boolean canBreed() public void moveTo(WaTorCell evicted) public void print() public WaTor(int height, int width, Map> pool) protected void addCell(int r, int c, CellType state) protected void placeAnimals(int height, int width, int numFish, int numSharks) protected boolean runGame() protected boolean checkEnd(int r, int c, CellType state) protected CellType findNextState(int r, int c) } package cellsociety.simulation public class Segregation extends Simulation { public Segregation(int height, int width, Map myParams) protected boolean checkEnd(int r, int c, CellType state) protected CellType findNextState(int r, int c) } package cellsociety.simulation public class Fire extends Simulation { public Fire(int height, int width, Map>> myInit, Map myParams) protected CellType findNextState(int r, int c) protected boolean checkEnd(int r, int c, CellType state) } package cellsociety public class Reader { public boolean readFile(String fileName) public void printReader() public String getTitle() public int getGridHeight() public int getGridWidth() public Map getParams() public Map>> getInit() } package cellsociety public class Main extends Application { public void start(Stage stage) throws Exception } package cellsociety public class Cell extends Rectangle { public Cell(CellType state) public CellType getState() public CellType getNextState() public void setState(CellType state) public void setNextState(CellType state) }