package cellsociety.controller public class SegDecoder extends Decoder{ public SegDecoder(Map attributes) public float getPopRatio() public float getEmptyRatio() public float getSatThresh() public int getRandSeed() public String getTemp() } package cellsociety.controller public class Decoder { public void readValuesFromXMLFile() public GOLDecoder getGOLDecoder() public WaTorDecoder getWaTorDecoder() public SegDecoder getSegDecoder() public FireDecoder getFireDecoder() public PercDecoder getPercDecoder() public String getModel() public String getTitle() public String getAuthor() public int getRows() public int getCols() public String getMyDesc() } package cellsociety.controller public class GOLDecoder extends Decoder{ public GOLDecoder(Map attributes) public String getTemplate() public ArrayList getCoords() } package cellsociety.controller public class FireDecoder extends Decoder{ public FireDecoder(Map attributes) public ArrayList getCoords() public String getTemplate() public float getProb() public int getSeed() public float getEmptyRatio() public float getTreeRatio() } package cellsociety.controller public class XMLException extends RuntimeException { public XMLException(String message, Object... values) public XMLException(Throwable cause, String message, Object... values) public XMLException(Throwable cause) } package cellsociety.controller.simulationengine public class SimulationEngine{ public SimulationEngine() public void initializeDecoder() public boolean decoderInitialized() public void initializeData() public void updateCellState() public void handle(long now) public void startSimulation() public void stopSimulation() public void setSimulationSpeed(int s) protected void initializeModelConstructors(String game) protected void initializeGrid() } package cellsociety.controller public class WaTorDecoder extends Decoder{ public WaTorDecoder(Map attributes) public float getFSRatio() public float getEmptyRatio() public int getSeed() public int getFishRate() public int getSharkRate() public int getSharkLives() public int getEnergy() } package cellsociety.controller public class PercDecoder extends Decoder{ public PercDecoder(Map attributes) public float getWaterToEmptyRatio() public float getBlockRatio() public int getSeed() public String getTemplate() } package cellsociety.controller.grid public class GridManager { public GridManager(int row, int col) public State[][] buildGridWithTemplate(ArrayList template, String type) public State[][] buildGridWithRandomSeed(double emptyRatio, double populationRatio, int seed, ArrayList possibleTypes, ArrayList possibleColors) public void updateGrid(State[][] stateOfCells) } package cellsociety.controller public class XMLParser { public XMLParser(String type) throws XMLException public Map getAttribute(File dataFile) } package cellsociety public class Main extends Application { public void start(Stage stage) } package cellsociety.model.spreadingoffire public class SpreadingOfFireRules extends Rules { public SpreadingOfFireRules(long randomSeed, double probsOfFire) public State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public String getStartingPositionCellType() public ArrayList getPossibleTypes() public ArrayList getPossibleColors() } package cellsociety.model.percolation public class PercolationRules extends Rules { public PercolationRules(long randomSeed) public State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public String getStartingPositionCellType() public ArrayList getPossibleTypes() public ArrayList getPossibleColors() } package cellsociety.model.watormodel public class SegregationModelRules extends Rules { public SegregationModelRules(long randomSeed, double THRESHHOLD) public State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public String getStartingPositionCellType() public ArrayList getPossibleTypes() public ArrayList getPossibleColors() } package cellsociety.model.cell public class State { public State(int xCoord, int yCoord, String type) public State(int xCoord, int yCoord, String type, String colorString, int numberOfMoves) public State(int xCoord, int yCoord, String type, String colorString, int numberOfMoves, public void setColor(String colorName) public int getxCoord() public int getyCoord() } package cellsociety.model.gameoflife public class GameOfLifeRule extends Rules { public GameOfLifeRule() public State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public String getStartingPositionCellType() public ArrayList getPossibleTypes() public ArrayList getPossibleColors() protected String decideState(int numberOfNeighbor, String type) } package cellsociety.model.rules public abstract class Rules { public Rules() public abstract State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public abstract String getStartingPositionCellType() public abstract ArrayList getPossibleTypes() public abstract ArrayList getPossibleColors() protected int[][] numberOfAliveNeighbors(State[][] statesOfAllCells, String type) } package cellsociety.model.watormodel public class WaTorModelRules extends Rules { public WaTorModelRules(long randomSeed, int energyFish, public State[][] judgeStateOfEachCell(State[][] statesOfAllCells) public String getStartingPositionCellType() public ArrayList getPossibleTypes() public ArrayList getPossibleColors() } package cellsociety.view public class SimulationScreen { public SimulationScreen(Stage stage, SimulationEngine engine) public void setDescription(String description) public void update(State[][] states, String model) public void checkWindowSizeChanged() } package cellsociety.view public class GridGraphics { public GridGraphics() public Node getNode() public void update(State[][] states, String model) public void reset() public void resizeGrid(double size) } package cellsociety.view public class SidePanel { public SidePanel() public Node getNode() public void addNodesToPane(Node... nodes) public void setDescription(String description) public String removeDescription() }