package Cell; public abstract class Cell { public Cell (int x, int y, int r, int c, CellContent insideCell) public CellContent getContent() public int getX() public int getY() public int getRow() public int getCol() public void setXandY(int x,int y) public void setRowandCol(int r,int c) } package Cell; public class HexagonalCell extends Cell { public HexagonalCell(int r, int col, double side, CellContent cellContent) public void createBasedOnPosition() public double getSide() public double[] getXCoordinates() public double[] getYCoordinates() public void setRowandCol(int r, int c) } package Cell; public class SquareCell extends Cell { public SquareCell(int x, int y, int r, int c, CellContent insideCell) } package Cell; public class TriangleCell extends Cell{ public TriangleCell(int x, int y, int wid, int hei, int r, int c, CellContent cellContent) public void createBasedOnPosition() public double[] getXCoordinates() public double[] getYCoordinates() public int getWidth() public int getHeight() public void setXandY(int x,int y) } package CellContent; * Depends on no other packages, used for cells only and called upon/created when need public abstract class CellContent { public CellContent(int s, Color c) public void setStateandColor(int i, Color c) public void setColor(Color c) public void setState(int i) public void increaseState(int i) public void increaseState() public Color getColor() public int getState() } package CellContent; public class FireContent extends CellContent { public FireContent(int s, Color c) } package CellContent; public class ForagingAntsContent extends CellContent{ public ForagingAntsContent (int i, Color col,boolean home, boolean food, double maxPh, double foodPh, double homePh, List ants) public List getAnts() public void setAnts(List ants) public void setIsFoodSource(boolean food) public boolean getIsFoodSource() public void setIsHome(boolean home) public boolean getIsHome() public void setHomePheromone(double home) public double getHomePheromone() public void setFoodPheromone(double food) public double getFoodPheromone() public double getPheromone(boolean goingHome) public double getMaxPheromone() public void setMaxPheromone(boolean home) public List getAntsClone() } package CellContent; public class GameOfLifeContent extends CellContent { public GameOfLifeContent(int s, Color c) } package CellContent; public class PredatorPreyContent extends CellContent { public PredatorPreyContent(int state, Color clr, int sE) public int getMoveNum() public void setMoveNum(int moveNum) public boolean getHasMoved() public void setHasMoved(boolean b) public void moved() public void ate() public void decreaseEnergy() public int getSharkEnergy() } package CellContent; public class SegregationContent extends CellContent { public SegregationContent(int s, Color c) } package CellContent; public class SugarScapeContent extends CellContent { public SugarScapeContent(int s, Color c, int amountHeld,int maxSugar, int colorDivision, int growBack, Agent agent) public void adjustColor() public void growBack() public int consumed() public int getMaxSugar() public int getGrowRate() public int getSugar() public int getColorDivision() public Agent getAgent() public void setAgent(Agent a) } package CellularAutomata; * Called by MainMenu class in Scene package. public class BadFileException extends Exception { public BadFileException () public BadFileException (String message) public BadFileException (Throwable cause, String message) } package CellularAutomata; * Called by Main Menu class in Scene package. * Called by Display class in Scene package. * Called by AnimationScene class in Scene package. * Calls all the classes in the CellContent package. public abstract class CellularAutomata { public abstract void update (); public abstract void createSquareGrid (); public abstract void createTriangleGrid (); public abstract void createHexagonalGrid (); public abstract void graphStats (Series graphLocation); public void reset () public void setGrid (Map g) public Map getGrid () public int getWidth () public int getHeight () public int getRows () public int getCol () public String returntileType () public String getEdgeType () public void setProbType (int prob) public int getProbType () public void setProbEmpty (int prob) public int getProbEmpty () public boolean getUseProbType () public boolean getUseProbEmpty () public void placeCells () public List checkNeighbors (Cell cell, boolean needNull) public Map cloneGrid (Map a) } package CellularAutomata; * Called by MainMenu class in Scene package. * Calls XMLParser class in XMLParser package. * Calls all the other classes in the CellularAutomata package. public class CellularAutomataFactory { public CellularAutomataFactory (String simName, XMLParser parse, ResourceBundle resources) public CellularAutomata decideAndCreateCA () public boolean getStrokeBoolean () public Color getStrokeColor () } package CellularAutomata; * Called by AnimationScene class in Scene package. * Calls all the classes in the Cell package. * Calls FireContent class in CellContent package. public class FireRules extends CellularAutomata { public FireRules (int rows, public void update () public void createSquareGrid () public void createTriangleGrid () public void createHexagonalGrid () public int getProbCatchesFire () public void setProbCatchesFire (int f) public void graphStats (Series graphLocation) } package CellularAutomata; * Called by AnimationScene class in Scene package. Called by * CellularAutomataFactory class. Calls all the classes in the Cell package. * Calls ForagingAntContent class in CellContent package. Calls CellularAutomata public class ForagingAntsRules extends CellularAutomata { public ForagingAntsRules(int rows, int columns, int wid, int hei, int fX, int fY, int hX, int hY, int maxA, public void update() public void createSquareGrid() public void createTriangleGrid() public void createHexagonalGrid() public void graphStats(Series graphLocation) public int getMaxAntsPerCell() public void setMaxAntsPerCell(int m) public int getAntsSpawned() public void setAntsSpawned(int aS) } package CellularAutomata; * Called by AnimationScene class in Scene package. * Calls all the classes in the Cell package. * Calls GameOfLifeContent class in CellContent package. public class GameOfLifeRules extends CellularAutomata { public GameOfLifeRules (int rows, public void update () public void createHexagonalGrid () public void createSquareGrid () public void createTriangleGrid () public void graphStats (Series graphLocation) } package CellularAutomata; * Called by AnimationScene class in Scene package. * Calls all the classes in the Cell package. * Calls PredatorPreyContent class in CellContent package. public class PredatorPreyRules extends CellularAutomata { public PredatorPreyRules (int rows,int columns,int wid,int hei,int sE,int sR, int fR, int empty, int sharkProb, String tile, String edge, Color sharkColor, Color fishColor, Color waterColor, String dir) public void update () public void reset () public void createSquareGrid () public void createTriangleGrid () public void createHexagonalGrid () public int getSharkReproduce() public void setSharkReproduce(int sR) public int getFishReproduce() public void setFishReproduce(int fR) public int getSharkEnergy() public void setSharkEnergy(int sE) public void graphStats(Series graphLocation) public void graphSharkStats(Series graphLocation) } package CellularAutomata; * Called by AnimationScene class in Scene package. Called by * CellularAutomataFactory class. Calls all the classes in the Cell package. * Calls SegregationContent class in CellContent package. Calls CellularAutomata public class SegregationRules extends CellularAutomata { public SegregationRules(int rows, int columns, int wid, int hei, int empty, int sim, int redProb, String tile, public void update() public int getSimilar() public void setSimilar(int s) public void reset() public void createSquareGrid() public void createTriangleGrid() public void createHexagonalGrid() public void graphStats(Series graphLocation) } package CellularAutomata; * Called by AnimationScene class in Scene package. * Calls all the classes in the Cell package. * Calls SugarScape class in CellContent package. public class SugarScapeRules extends CellularAutomata { public SugarScapeRules(int rows, int columns, int wid, int hei, int sugarmax, int agentSpawn, String tile, public void update() public void createSquareGrid() public void createTriangleGrid() public void createHexagonalGrid() public void graphStats(Series graphLocation) } * Calls MainMenu class in Scene package. public class Main extends Application { public void start (Stage primaryStage) throws Exception } package Models; public class Agent { public Agent(int initSugar, int sugarConsumedStep, int howFar) public int getSugar() public void consumeSugar(int amount) public void moved() public int getVision() } package Models; public class Ant { public Ant(int a) public boolean hasFoodItem() public void hasFoodItem(boolean food) public void setOrientation(int o) public int getOrientation() public int getLifeLeft() public void setLifeLeft(int a) public void decreaseLifeLeft() public boolean hasMoved() public void setMoved(boolean b) } package Scene; * Calls CellularAutomata class in CellularAutomata package. public class AnimationScene { public AnimationScene (Scene scene, public GridPane getRoot () public String toString (Double n) public Double fromString (String s) } package Scene; * Calls CellularAutomata class from CellularAutomata package. * Calls all the classes in the Cell package; public class Display { public Display (CellularAutomata rules, boolean stroke, Color strokeColor) public Canvas getCanvas () public void update () public void reset () } package Scene; * Calls BadFileException class in CellularAutomata package. * Calls XMLParser class in XMLParser package. * Calls CellularAutomatFactory class in CellularAutommata package. * Calls CellularAutomata class in Cellular Automata package. public class MainMenu { public MainMenu () public Scene init (int width, int height, ResourceBundle resources) } package XMLParser; public class XMLParser { public XMLParser(String xmlFilename) public Element getRootElement () public void parseNewXML(String xmlFilename) public String getCAType() public String getVariableValues(String variable) } package XMLParser; public class XMLParserException extends RuntimeException { public XMLParserException (String message, Object ... values) public XMLParserException (Throwable cause, String message, Object ... values) public XMLParserException (Throwable cause) }