package cellsociety_team13; public class BackgroundCell { public Map getNextBGStateMap() public BackgroundCell(int row, int col) public int getMyCol() public int getMyRow() public void stepToNextBGStateAndType() public Integer getCurrentBGState(String myState) public Integer getNextBGState(String myState) public void setCurrentBGState(String myState, Integer value) public void setNextBGState(String myState, Integer value) } package cellsociety_team13; public class Cell extends Polygon { public Cell(double[] myVertices, String cellType, int row, int col) public int getMyCol() public int getMyRow() public void initalizeState(Map initialStates) public String getCurrentType() public int getCurrentState(String stateName) public int getNextState(String stateName) public boolean containsNextState(String stateName) public void setCurrentState(String stateName, int value) public String getNextType() public void stepToNextStateAndType() public void setNextType(String cellType) public void setNextState(String stateName, int stateVal) public void removeNextState(String stateName) public void removeAllNextStates() public void setCurrentType(String setCurrent) } package cellsociety_team13; public abstract class CellGrid extends Group { public CellGrid(double xPos, double yPos, double drawWidth, double drawHeight, int gridWidth, int gridHeight, public void addItemsToGrid(int gridWidth, int gridHeight, List initialCellTypes) public abstract Cell getVerticesAndMakeCell(String cellType, int row, int col, double cellXPos, double cellYPos); public int getGridWidth() public int getGridHeight() public List getCellsByType(String cellType) public Map getCellProportions() public Cell getCell(int row, int col) public BackgroundCell getBGCell(int row, int col) public void step() abstract public List getNonDiagNeighbours(Cell myCell); abstract public List getNeighbours(Cell myCell); public void updateParameter(String param, int value) public BackgroundCell getBGCellofCell(Cell myCell) public Cell getCellofBG(BackgroundCell myBGCell) public List getCells() public List getBgCells() public double getDrawCellWidth() public double getDrawCellHeight() public List getNeighbours(Cell myCell, CellGrid myGrid) } package cellsociety_team13; public class CellGridHexagon extends CellGrid { public CellGridHexagon(double xPos, double yPos, double drawWidth, double drawHeight, int gridWidth, int gridHeight, public Cell getVerticesAndMakeCell(String cellType, int row, int col, double cellXPos, double cellYPos) public List getNonDiagNeighbours(Cell myCell) public List getNeighbours(Cell myCell) } package cellsociety_team13; public class CellGridSquare extends CellGrid { public CellGridSquare(double xPos, double yPos, double drawWidth, double drawHeight, int gridWidth, int gridHeight, public Cell getVerticesAndMakeCell(String cellType, int row, int col, double cellXPos, double cellYPos) public List getNonDiagNeighbours(Cell myCell) public List getNeighbours(Cell myCell) } package cellsociety_team13; public class GameParameter { public GameParameter(String pName, int min, int max) public GameParameter(String pName, int min, int max, int current) public String getName() public int getMinVal() public int getMaxVal() public int getCurrentVal() public void setCurrentVal(int val) } package cellsociety_team13; public class StateValueException extends Exception { public StateValueException() public StateValueException(String message) public StateValueException(Throwable cause) public StateValueException(String message, Throwable cause) public StateValueException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) } package gui; public class AnimationControl extends VBox { public AnimationControl(double height, CellGrid cellGrid, CellTypeChart cellTypeChart) } package gui; public class AppLauncher extends Application { public void start (Stage stage) } package gui; * GUI elements that are defined in the remainder of the gui package. It sets public class CellSocietyGUI { public CellSocietyGUI() public Scene getScene() } package gui; public class CellTypeChart extends LineChart{ public CellTypeChart(Axis xAxis, Axis yAxis, double xPos, double yPos, double width, double height) public void updateCellData(Map cellProportions) } package gui; public class GameControl extends VBox { } package gui; public class InputPanel extends Group { public InputPanel(double xPos, double yPos, double width, double height, } package gui; public class ParameterAdjustmentControl extends VBox { public ParameterAdjustmentControl(double height, List parameters, CellGrid targetCellGrid) } package gui; public class TitleBox extends Group { public TitleBox(double width, double height, String title) } package gui; public class TitleScreen extends Group { public String getXMLFilename() public String getShapeType() } package rule; public class ForagingAnts extends Rule { public void reinitializeCellStates(Cell myCell, BackgroundCell myBGCell) public void setColor(Cell myCell, CellGrid myGrid) } package rule; public class GameOfLife extends Rule { public void setColor(Cell myCell, CellGrid myGrid) } package rule; public abstract class Rule { public void initialize(CellGrid myGrid, List initialParameters) public abstract void setColor(Cell myCell, CellGrid myGrid); public void evaluateGrid(CellGrid myGrid) public void setParameter(String parameterName, int value) } package rule; public class SchellingModel extends Rule { public void evaluateGrid(CellGrid myGrid) public void evaluateCell(Cell myCell, CellGrid myGrid) public void setStatesInMap(Cell myCell) public void setColor(Cell myCell, CellGrid myGrid) } package rule; public class SlimeMold extends Rule { public void setColor(Cell myCell, CellGrid myGrid) } package rule; public class SpreadingOfFire extends Rule { public void setColor(Cell myCell, CellGrid myGrid) } package rule; public class SugarScape extends Rule { public SugarScape() public void setColor(Cell myCell, CellGrid myGrid) } package rule; public class WatorWorld extends Rule { public void evaluateGrid(CellGrid myGrid) public void setColor(Cell myCell, CellGrid myGrid) } package xmlparser; public class CellTypeParser implements Parser { public CellTypeParser() public void reset() public void update() throws XMLGameInfoException public void parseInfo(String infoName, String infoValue) public String getCellType(int id) throws XMLGameInfoException } package xmlparser; * provides the public interface that other classes will access the XML info from. public class GameInfoReader { * provides the public interface that other classes will access the XML info from. public GameInfoReader(String fname) public String getTitle() public String getRuleClassName() public String getAuthor() public List getGameParameters() public int getGridWidth() public int getGridHeight() public String getGridTiling() public boolean isToroidal() public List getInitialCellTypeLocations() } package xmlparser; public class GridParser implements Parser { public GridParser() public void reset() public void update() throws XMLGameInfoException public void parseInfo(String infoName, String infoValue) public int getGridWidth() throws XMLGameInfoException public int getGridHeight()throws XMLGameInfoException public String getTiling()throws XMLGameInfoException public boolean isToroidal() public List getInitialCellTypeIDLocations() public LocationParser getLocationParser() } package xmlparser; public class LocationParser implements Parser { public LocationParser() public void initializeGridInfo(List cellTypeIDLocations, int gWidth, int gHeight, String method) public void reset() public void update() throws XMLGameInfoException public void parseInfo(String infoName, String infoValue) } package xmlparser; public class MainInfoParser implements Parser { public MainInfoParser() public void reset() public void update() public void parseInfo(String infoName, String infoValue) public String getMainInfo(String infoName) throws XMLGameInfoException } package xmlparser; public class ParameterParser implements Parser { public ParameterParser() public void reset() public void update() throws XMLGameInfoException public void parseInfo(String infoName, String infoValue) public List getGameParameterList() } package xmlparser; public interface Parser { public abstract void reset(); public abstract void update() throws XMLGameInfoException; public abstract void parseInfo(String infoName, String infoValue); } package xmlparser; public class XMLGameInfoException extends Exception { public XMLGameInfoException(String message) }