package Shapes; public class Hexagon { public Hexagon(double sideLength, double xCoord, double yCoord) public double [] getPoints() } package Shapes; public class Triangle { public Triangle(double sideLength, double xCoord, double yCoord) public void getEvenCoords(double xPos, double sideLength) public void getOddCoords(double xPos, double sideLength) public double [] getPoints() } package Shapes; public class Square { public Square(double sideLength, double xCoord, double yCoord) public double [] getPoints() } package sample; public class Parameter { public Parameter(GUI myGUI, Map states, Map rules, int xCoord, public void update() // design decision: assumes this game restarts public Group getRoot() return myRoot; } } package sample; public class Graph { public Graph(int length, int height, double xCoord, double yCoord, int totalCells, Map lineColors) public void update(Map existingCellTypes) public Group getRoot() } package sample; public class Stat { public Stat(String title, double value, double xCoord, double yCoord, boolean isRule) public Text getTitle() return this.title; } public Text getDescription() return this.description; } public Button getIncreaseButton() return this.increaseButton; } public Button getDecreaseButton() return this.decreaseButton; } public double getValue() return this.value; } public boolean getIsRule() return this.isRule; } } package sample; public class Grid { public Grid(List parameters, Map rules, SimulationType simulationType, GridShape shape, int cellsPerColumn public void updateGridCells() public void getAllNeighbors() public HashSet getSquareNeighbors(int row, int col) public HashSet getTriangleNeighbors(int row, int col) public HashSet getHexagonNeighbors(int row, int col) public Set getAllEmptyCells() public Map> getMap() public void addToGroup(Group root, Cell cell) public Group getGridRoot() public void resetHasMoved() public void updateCells() public Map getExistingCells() } package sample; public class Main extends Application { public void start(Stage primaryStage) throws Exception } package sample; public class GridToroidal extends Grid { public GridToroidal(List parameters, Map rules, SimulationType simulationType,GridShape gridShape, public HashSet getSquareNeighbors(int row, int col) public int getBorderCases(int rowOrCol, double gridDimension) public HashSet getHexagonNeighbors(int row, int col) public HashSet getTriangleNeighbors(int row, int col) } package sample; public class GUI { public GUI(Stage stage, int screenWidth, int screenHeight) public void customDisplayGame(ArrayList initialParams, Map thresholds, Map states) public Group getRoot() } package CellTypes; public class PatchCell extends Cell { public PatchCell(States state, Map rules, double x, double y, double height, double width, public double getSugarAmount() public void setSugarAmount(double amount) public Color getSugarColor() public void setInitialProps() public void defaultSettings(Map rules, String rule, double defaultSetting) public void update(Set neighbors, Set emptyCells) } package CellTypes; public class RPSCell extends Cell{ public RPSCell(States state, Map rules, double x, double y, double height, double width, public void defaultSettings(Map rules, String rule, double defaultSettings) public void update(Set neighbors, Set emptyCells) public void updateScissor(int surroundingRock) public void updatePaper(int surroundingScissor) public void updateRock(int surroundingPaper) } package CellTypes; public class AgentCell extends Cell { public AgentCell(States state, Map rules, double x, double y, double height, double width, public boolean getIsAlive() public void defaultSettings(Map rules, String rule, double defaultSetting) public void update(Set neighbors, Set emptyCells) } package CellTypes; public class SegregationCell extends Cell{ public SegregationCell(States state, Map rules, double x, double y, double height, double width, public void defaultSettings(Maprules, String rule, double defaultSettings) public void update(Set neighbors, Set emptyCells) } package CellTypes; public class AntCell extends Cell{ public AntCell(States state, double x, double y, double height, double width, Map colors, GridShape shape) public void defaultSettings(Map rules, String rule, double defaultSettings) public void swap(Cell neighbor) public void update(Set neighbors, Set emptyCells) public void updateAnt(Set neighbors, Set emptyCells) public void moveHome(Cell cellToMove) public void moveHungry(Cell cellToMove) } package CellTypes; public class GroundCell extends Cell { public GroundCell(States state, Map rules, double x, double y, double height, double width, Map colors, GridShape shape) public GroundCell(States state, double x, double y, double width) public void defaultSettings(Map rules, String rule, double defaultSettings) public void update(Set neighbors, Set emptyCells) public void moveHome(Cell cellToMove) public void moveHungry(Cell cellToMove) public Cell getCellToMove(Set neighbors, String type) public void newAnt(Set neighbors) public void setPheromoneStroke() } package CellTypes; public class FireCell extends Cell{ public FireCell(States state, Map rules, double x, double y, double height, double width, Map colorMap, GridShape shape) public void defaultSettings(Map rules, String rule, double defaultSettings) public void update(Set neighbors, Set emptyCells) } package CellTypes; public class WatorCell extends Cell { public WatorCell(States state, Map rules, double x, double y, double height, double width, Map colorMap, GridShape gridShape) public Map defaultMap () public void defaultSettings(Map rules, String rule, double defaultSettings) public void swap (Cell neighbor) public void die(Cell cell) public void swapWithWater(List random) public void setLifePoints() public void reproduce(Cell neighbor, States state, Color color, double reproduce) public List radomizeNeighbors (Set neighbors) public void updateFish(Set neighbors) public void updateShark (Set neighbors) public void update(Set neighbors, Set emptyCells) } package CellTypes; public class CellBucket { public CellBucket() public CellBucket(Cell cell) public void addCell(Cell cell) public void removeCell(Cell cell) public Set getHeldCells() public void emptyHeldCells() } package CellTypes; public class GameOfLifeCell extends Cell{ public GameOfLifeCell(States state, Map rules, double x, double y, double height, double width, public Map defaultMap() public void defaultSettings(Map rules, String rule, double defaultsetting) public void update(Set neighbors, Set emptyCells) } package CellTypes; public abstract class Cell { public Cell (States cellState, double x, double y, double height, double width, Map colorMap, GridShape shape) public Cell(States cellState, double x, double y, double width, double fP, double hP) public States getRightState(States currentState, List cellTypes) public void setInitialProps() public double getRowNum() public double getColNum() public void setNewPosition(double row, double col) public void setNextState(States next) public States getNextState() public States getCurrentState() public void setCurrentState(States now) public Polygon getCell() public void setCell(Polygon newCell) public boolean getHasMoved() public void setHasMoved(boolean hasMoved) public void setNextColor(Color color) public Color getNextColor() public void setColor(Color color) public Color getCurrentColor() public double getPheromone(String type) public void setFoodPheromone(double value) public void setHomePheromone(double value) public double getFoodPheromone() public double getHomePheromone() return this.homePheromone; } public void upFoodPher(double increaseAmount) public void upNestPher(double increaseAmount) public void createCellShape(double height, double width) public abstract void update(Set neighbors, Set emptyCells); } package utility; public class XMLCheck { public XMLCheck(XMLReader reader) public String getName() public String getDescription() public String getCellFormat() public int getDimension(int size) public int getWidth() public int getHeight() public GridShape getGridShape() public EdgeTypes getEdgetypes() public boolean getGridOutline() public Map getCellColor() public ArrayList getInitialParams() public Map getStates () public ArrayList getCellByPosition(ArrayList cells) public ArrayList checkPositionOfCells(ArrayList positions) public void addCellPositions(String[] row, ArrayList allCells) public boolean checkNumberofCells(Map cellType) public ArrayList getCellsbyNumber(Map cellType, boolean rightNumber) public boolean checkPercentageOfCells(Map cellType) public ArrayList getCellbyPercent(Map cellType, boolean rightNumber) public void checkStateOfCell(Map cellType) public Map getThresholds() } package utility; public class XMLException extends RuntimeException { public XMLException (String message, Object ... values) public XMLException (Throwable cause, String message, Object ... values) public XMLException (Throwable cause) } package utility; public class XMLReader { public XMLReader(File file) public DocumentBuilder getDocumentBuilder() public String getXMLText() public String getName() public int getHeight() public int getWidth() public String getShape() public String getOutline() public String getCellFormat() public String getEdge() public Map getStates() public Map getMap(String tagName, String attribute) public String getOriginalDescription() public Map getDoubleMap(Map inputMap) public Map getThresholds() public Map getInitCells() public Map getInitPercent() public Map getColors() public ArrayList getInitPosition() }