package Cells; public class Tree extends SuperCell { public Tree(Point p, int s) public boolean isBurning() public void update() public int getStatus() } package Cells; public class SpiceAgent extends SugarAgent { public SpiceAgent(Point p, SpiceScape sim) public void update() } package Cells; abstract public class SuperFish extends SuperCell{ public SuperFish(Point p, int status, WaTor w) public int getStatus() public boolean isFish() public void setPoint(Point p) public Point moveRandomToList(List destination, WaTor w) public void restoreMovement() } package Cells; public class Shark extends SuperFish{ public Shark(Point p, int energy, int calories, int reproductionTime, WaTor w) public void subtractEnergy() public void addEnergy() public void subtractTimer() public void reproduce(Point p, WaTor w) public void dies() public void move() public void update() } package Cells; public class Ant extends SuperCell{ public Ant(Point p, ForagingAnts sim) public Direction getDirection() public void update() public void restoreMovement() } package Cells; abstract public class SuperCell { public final Map colorMap = new HashMap<>(); public Point getPoint() abstract public void update(); } package Cells; public class SugarPatch extends SuperCell{ public SugarPatch(Point p, SugarScape sim, int sugar) public SugarPatch(Point p, int sugarGrowBackRate, SugarScape sim) public void update() public int getSugar() public SugarAgent getAgent() public void setAgent(SugarAgent agent) public boolean isOccupied() public void clearAgent() public int takeAllSugar() } package Cells; public class Person extends SuperCell { public Person(Point p, int s) public int getColor() public void update() public int getStatus() } package Cells; public class SpicePatch extends SugarPatch{ public SpicePatch(Point p, SpiceScape sim, int sugarGrowBackRate, int spiceGrowBackRate) public void update() public int takeAllSpice() public int getSpice() public void setAgent(SpiceAgent agent) public boolean isOccupied() public SpiceAgent getAgent() public void clearAgent() } package Cells; public class AntGround extends SuperCell{ public AntGround(Point p, boolean isHome, int foodCount, ForagingAnts sim) public void update() public void restoreAnts() public boolean hasFood() public void setPoint(Point p) public double getFoodPh() public double getHomePh() public void moveAnts() public boolean isHome() public void decreaseFood() public void addAnt(Ant a) public boolean removeAnt(Ant a) public int getNumberOfAnts() public void increaseFoodPh(Double amount) public void increaseHomePh(Double amount) public void maxOutHomePh() public void maxOutFoodPh() public void reproduce() public void calculateFoodDiffusion(Map foodDiffMap) public void calculateHomeDiffusion(Map homeDiffMap) public void evaporate() } package Cells; public class Fish extends SuperFish{ public Fish(Point p, int time, WaTor w) public boolean isFish() public void update() public void move() public void resetTimer() public void subtractTimer() public void reproduce(Point p, WaTor w) } package Cells; public class SugarAgent extends SuperCell{ public SugarAgent(Point p, SugarScape sim) public SugarAgent(Point p, int initSugar, SugarScape sim) public void update() public void restoreMovement() public boolean getIsMale() public void setMale(boolean male) } package Cells; public class Cell extends SuperCell { public Cell(Point p, int status) public boolean isAlive() public int getStatus() public Point getPoint() public void update() } package Simulations; public class SpiceScape extends SugarScape { public static final List DATA_FIELDS = List.of( public SpiceScape(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } package Simulations; abstract public class Simulation { public Simulation(XMLParser parser) abstract public Grid update(); abstract public void toggleCellState(Point p); abstract public Color[][] getColorMatrix(); public Grid getMyGrid() public Random getRandom() public ArrayList getPossibleCells() public HashMap getParameters() public Set getBlackListedColors() } package Simulations; public class GameOfLife extends Simulation { public static final List DATA_FIELDS = List.of( public GameOfLife(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } package Simulations; public class WaTor extends Simulation{ public static final List DATA_FIELDS = List.of( public WaTor(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } package Simulations; public class ForagingAnts extends Simulation { public static final List DATA_FIELDS = List.of( public ForagingAnts(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public double getMaximumPH() public double getPHconstant() public double getReproductionRate() public double getDiffusionRate() public double getEvaporationRate() public void toggleCellState(Point p) } package Simulations; public class SugarScape extends Simulation{ public static final List DATA_FIELDS = List.of( public SugarScape(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } package Simulations; public class Segregation extends Simulation { public static final List DATA_FIELDS = List.of( public Segregation(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } package Simulations; public class Fire extends Simulation { public static final List DATA_FIELDS = List.of( public Fire(XMLParser parser) public Grid update() public Color[][] getColorMatrix() public void toggleCellState(Point p) } public class Main extends Application implements MenuGUI.MenuGUIEventListener, RectangleGridGUI.GridGUIEventListener { public void start(Stage primaryStage) public String onSimulationSelected(String name, HashMap overrideParameters) public void onPlayPause(boolean playing) public void onStepForward(int step) public void onAutoPlaySpeedSet(int perMin) public void onCellSelected(int x, int y) } package GUI.Menu; public class ParameterField implements Comparable { public interface ParameterFieldListener { public ParameterField(String parameter, Object initialValue, ParameterFieldListener listener) public Double fromString(String s) public String toString(Double d) public int compareTo(Object o) public HBox getFieldBox() public String getParameter() } package GUI.Menu; public class MenuGUI implements ParameterField.ParameterFieldListener { public class SortByRGB implements Comparator { public interface MenuGUIEventListener { public int compare(Color a, Color b) public String getIconFileName() public static final Font BOLD_FONT = Font.font("Verdana", FontWeight.BOLD, 12); public static final Insets COMPONENT_PADDING = new Insets(COMPONENT_PADDING_VALUE, 0 , 0, 0); public static final Insets COMPONENT_PADDING_TOP_BOTTOM = new Insets(COMPONENT_PADDING_VALUE, 0 , COMPONENT_PADDING_VALUE, 0); public static final Insets SUPERCOMPONENT_PADDING = new Insets(COMPONENT_PADDING_VALUE*2, 0 , 0, 0); public static final Insets TITLE_PADDING = new Insets(5, 0, 0, 0); public static final Insets NO_PADDING = new Insets(0, 0, 0, 0); public MenuGUI(int width, int height, MenuGUIEventListener parent) public void updateBarChart(HashMap colorCounts) public void populateParameterFields(HashMap parameters) public static String toRGBCode( Color color ) public void onParameterSet(String parameter, Object value) public StackPane getMenuRoot() } package GUI; public class GraphGUI { public GraphGUI() public void resetGraph(HashMap colorCounts) public void update(HashMap colorCounts, int currentStep) public static String toRGBCode( Color color ) public LineChart getLineChart() } package GUI.Grid.RectanlgeGrid; public class RectangleGridGUI extends SuperGrid { public RectangleGridGUI(int width, int height, GridGUIEventListener listener) public void resetGrid(Color[][] colors, boolean gridLines) public UpdateableFill[][] getCells() } package GUI.Grid.RectanlgeGrid; public class Rectangle extends javafx.scene.shape.Rectangle implements SuperGrid.UpdateableFill { public Rectangle(double width, double height, Color color) public void setFill(Color color) } package GUI.Grid; public abstract class SuperGrid { public interface GridGUIEventListener { public interface UpdateableFill { public SuperGrid(int width, int height, GridGUIEventListener listener) public abstract T[][] getCells(); public abstract void resetGrid(Color[][] colors, boolean gridLines); public void updateGrid(Color[][] colors) public StackPane getGridRoot() } package GUI.Grid.HexagonGrid; public class HexagonGridGUI extends SuperGrid { public HexagonGridGUI(int width, int height, GridGUIEventListener listener) public void resetGrid(Color[][] colors, boolean gridLines) public UpdateableFill[][] getCells() } package GUI.Grid.HexagonGrid; public class Hexagon implements SuperGrid.UpdateableFill { public Hexagon(double w, double h, boolean gridLines) public Group getRoot() public void setFill(Color color) } package Data; public class Point { public Point(int x, int y) public int getX() public int getY() public boolean equals(Object other) public int hashCode() public static Direction getDirection(Point from, Point to) public String toString() } package Data; public class Grid { public Grid(int height, int width, String shape, String type) public List getNeighbors(Point p) public List getEdges(Point p) public List getCorners(Point p) public List getVacancies() public List getImmediateVacancies(Point p) public SuperCell getCell(Point p) public void setCell(Point p, SuperCell c) public void remove(Point p) public int getHeight() public int getWidth() public List getForward(Direction d, Point p) public List getNeighborPoints(Point p) public List getNEdges(Point p, int n) } package Data; public class XMLException extends RuntimeException { public XMLException (String message, Object ... values) public XMLException (Throwable cause, String message, Object ... values) public XMLException (Throwable cause) } package Data; public class Query { public Query(Point location, SuperCell cell) public Point getLocation() public SuperCell getCell() } package Data; public class Direction { public Direction(int xOri, int yOri) public int getxOri() public int getyOri() public String toString() } package Data; public class XMLParser { public XMLParser (File f) public XMLParser (File f, HashMap override) public void initializeMap() public Map getMap() }