package base; public class Cell { public Cell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public Polygon getBlock() public void setBorder(Color color) public void setColor(Color color) public Paint getColor() public void setAsManuallyModifiedByUser() public boolean isManuallyModifiedByUser() public void noLongerManuallyModified() public void addToScene() } package base; public class CellShape { public CellShape(int gridLength) public void setCoords(double xCoord, double yCoord) public void setHexagonalCell() public void setSquareCell() public void setTriangularCell() public Polygon returnShape() } package base; public abstract class Grid { public Grid(int gridLength, int sizeOfCell, Pane rootElement, int initialX, public abstract void initializeGrid(CellType type); public int getGridLength() public gridEdgeType getEdgeType() public void setEdgeType(gridEdgeType edgeType) public Pane getRootElement() public void setSimulationProfile(Simulation sim) public Cell getCell(Location location) public void setCell(Location location, Cell cell) public Location getNorthernNeighbor(Location location) public Location getSouthernNeighbor(Location location) public Location getEasternNeighbor(Location location) public Location getWesternNeighbor(Location location) public Location getNorthwesternNeighbor(Location location) public Location getNortheasternNeighbor(Location location) public Location getSouthwesternNeighbor(Location location) public Location getSoutheasternNeighbor(Location location) public ArrayList getAllNeighbors(Location location) public int getInitialX () public int getInitialY () public int getSizeOfCell () public void setBackground(int width, int height) public void setUpButtons() } package base; public class Location { public Location (int row, int col) public int getRow () public void setRow(int row) public void setCol(int col) public int getColumn () } package base; public abstract class Simulation { public static final double textPositionHorizontal = SIMULATION_WINDOW_WIDTH - (2 * DIMENSIONS_OF_CELL_COUNTER)+ MARGIN_BOX_TOP * 3; public static final double textPositionVertical = 0 + (7 / 5 * DIMENSIONS_OF_CELL_COUNTER) - 2 * MARGIN_BOX_TOP; public Simulation(int myGridLength, CellType type) public abstract Grid instantiateGrid(); public abstract void setInitialEnvironment(); public abstract void step(); public abstract void createSeries(LineChart lineChart); public abstract void createCellCounter(); public abstract void updateGraph(); public void startSimulation() public void stopSimulation () public void resumeSimulation() public Scene init(Stage s, CellType type) public void createGraph() public int getGridLength () public int getLeftMargin () public void setLeftMargin (int leftMargin) public int getTopMargin () public void setTopMargin (int topMargin) public String getCellCounterStyle() public Scene getMyScene () public void setMyScene (Scene myScene) public Stage getStage () public void setStage (Stage stage) public Pane getRootElement () public void setNewRootElement() public int getCellSize () public void setCellSize (int cellSize) } package base; public abstract class UserInput { public UserInput(Stage s) public abstract void startXMLSimulation(); public abstract void startManualSimulation(CellType cellType); public abstract void generateNodes(); public void manualInput() public GridPane getGrid() public int getGridSize() public ImageView setBackground() public Button createButton(String buttonText, int yTranslate) public void xmlButton() public void manualButton() public void selectGridSize() public Button beginHexButton(String sim) public Button beginTriangleButton(String sim) public Button beginSquareButton(String sim) } package controller; public class MainMenu { public class MenuItem extends StackPane { public static class OptionContainer extends VBox { public MainMenu(Stage s) public void display() public MenuItem(String Name) public OptionContainer(MenuItem...items) public Parent setUpWindow() public BigNameText(String Name) } package foragingants; public class ForagingAnt { public ForagingAnt(Location location, int life, ForagingAntsGrid myGrid) public int getLife() public void decrementLife() public int getOrientation() public void setOrientation(int orientation) public Location getLocation() public void setLocation(Location location) public boolean hasFood() public void setHasFood(boolean hasFood) public void move(Location location) } package foragingants; public class ForagingAntsCell extends Cell { public ForagingAntsCell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public double getFoodPheromoneCount() public double getHomePheromoneCount() public double getAntCount() public void incrementAntCount() public void decrementAntCount() public void setHomePheromoneCount(double homePheromoneCount) public void setFoodPheromoneCount(double foodPheromoneCount) } package foragingants; public class ForagingAntsGrid extends Grid { public ForagingAntsGrid(int gridLength, int sizeOfCell, Pane rootElement, int initialX, int initialY, public ForagingAntsCell getCell(Location location) public void initializeGrid(Simulation.CellType type) public void updateCell(Location location) } package foragingants; public class ForagingAntsInput extends UserInput { public ForagingAntsInput(Stage s, ForagingAntsXMLFactory factory, ForagingAntsSimulation mySim) public void selectSimDuration() public void selectNestLocationRow(int gridSize) public void selectNestLocationCol(int gridSize) public void selectFoodSourceRow(int gridSize) public void selectFoodSourceCol(int gridSize) public void selectMaxAnts() public void selectMaxAntsPerLocation() public void selectAntLifetime() public void selectInitialPopulation() public void selectAntsBornPerStep() public void selectMinPheromone() public void selectMaxPheromone() public void selectEvapRatio() public void selectDiffusionRatio() public void startXMLSimulation() public void manualInput() public void startManualSimulation(Simulation.CellType type) public void generateNodes() } package foragingants; public class ForagingAntsSimulation extends Simulation { public ForagingAntsSimulation(int gridLength, CellType type, int simDuration, public Scene init(Stage s, CellType type) public Grid instantiateGrid() public void setInitialEnvironment() public void createCellCounter() public void createSeries(LineChart lineChart) public void updateGraph() public void step() } package gameoflife; public class GameOfLifeCell extends Cell { public GameOfLifeCell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public void killCell() public void reviveCell() public States getState() } package gameoflife; public class GameOfLifeGrid extends Grid{ public GameOfLifeGrid(int rowLength, int sizeOfCell, Pane rootElement, public GameOfLifeCell getCell(Location location) public void updateCell(Location location) public void initializeGrid(CellType type) } package gameoflife; public class GameOfLifeInput extends UserInput { public GameOfLifeInput(Stage s, GameOfLifeXMLFactory factory, GameOfLifeSimulation mySim) public void startXMLSimulation() public void selectPercAlive() public void startManualSimulation(CellType type) public void generateNodes() } package gameoflife; public class GameOfLifeSimulation extends Simulation { public GameOfLifeSimulation(int gridLength,double percentageAlive, CellType type) public Scene init(Stage s, CellType type) public Grid instantiateGrid() public void createSeries(LineChart lineChart) public void createCellCounter() public void updateGraph() public void step () public void setInitialEnvironment() public void updateCellUI() public void updateCurrentCellState(Location location, int aliveSurroundingCells) } package main; public class Main extends Application { public void start(Stage primaryStage) } package segregation; public class SegregationCell extends Cell { public SegregationCell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public void setState (State currState) public void updateColor() public State getState() } package segregation; public class SegregationGrid extends Grid { public SegregationGrid(int rowLength, int sizeOfCell, Pane rootElement, public SegregationCell getCell(Location location) public void initializeGrid(CellType type) public void switchCells(Point p1, Point p2) public void setStats() public void updateCell(Location location, State cellState) public void updateCell(Location location, int cellState) } package segregation; public class SegregationInput extends UserInput{ public SegregationInput(Stage s, SegregationXMLFactory factory, SegregationSimulation mySim) public void generateNodes() public void startManualSimulation(CellType type) public void startXMLSimulation() } package segregation; public class SegregationSimulation extends Simulation { public SegregationSimulation(int gridLength, double threshold, double percentA, public Scene init(Stage s, CellType type) public Grid instantiateGrid() public void setInitialEnvironment() public void createSeries(LineChart lineChart) public void updateGraph() public void step() public void createCellCounter() } package slimemolds; public class SlimeMoldsCell extends Cell { public SlimeMoldsCell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public boolean isAttracting(double threshold) public void diffuse(double diffuseAmount) public void dissipate(double dissipateAmount) public double getChemicalAmount() public void pollute(double stepChemicalAmount) public void moldify() public void killMold() public MoldStatus getState() } package slimemolds; public class SlimeMoldsGrid extends Grid { public SlimeMoldsGrid(int gridLength, int sizeOfCell, Pane rootElement, int initialX, public SlimeMoldsCell getCell(Location location) public void initializeGrid(CellType type) public void updateCell(Location location, MoldStatus state, double threshold) } package slimemolds; public class SlimeMoldsInput extends UserInput{ public SlimeMoldsInput(Stage s, SlimeXMLFactory factory, SlimeMoldsSimulation mySim) public void selectDiffusionSpore() public void selectTouchSpore() public void setThreshold() public void setDissipateAmount() public void probMold() public void generateNodes() public void startManualSimulation(CellType type) public void startXMLSimulation() } package slimemolds; public class SlimeMoldsSimulation extends Simulation { public SlimeMoldsSimulation(int gridLength, double diffusionAmt, double stepAmt, double threshold, public Scene init (Stage s,CellType type) public Grid instantiateGrid() public void checkUpdatedStatesAfterManualMod() public void setInitialEnvironment() public void createSeries(LineChart lineChart) public void createCellCounter() public void updateGraph() public void step () } package spreadingoffire; public class SpreadingOfFireCell extends Cell { public SpreadingOfFireCell(int sizeOfCell, Pane rootElement, double xCoord, double yCoord, public void burn() public void catchFire() public void spawn() public void burnout() public States getState() } package spreadingoffire; public class SpreadingOfFireGrid extends Grid { public SpreadingOfFireGrid(int gridLength, int sizeOfCell, Pane rootElement,int initialX, public SpreadingOfFireCell getCell(Location location) public void initializeGrid(CellType type) public void updateCell(Location location, States state) } package spreadingoffire; public class SpreadingOfFireInput extends UserInput{ public SpreadingOfFireInput(Stage s, FireXMLFactory factory, public void selectProbCatch() public void startXMLSimulation() public void startManualSimulation(CellType type) public void generateNodes() } package spreadingoffire; public class SpreadingOfFireSimulation extends Simulation { public SpreadingOfFireSimulation(int gridLength, double probCatch,CellType type) public Scene init (Stage s,CellType type) public Grid instantiateGrid() public void spawnTree(Location location) public void checkUpdatedStatesAfterManualMod() public void setInitialEnvironment() public void createSeries(LineChart lineChart) public void createCellCounter() public void updateGraph() public void step () } package sugarscape; public class SugarScapeCell extends Cell { public SugarScapeCell(int sizeOfCell, Pane rootElement, double xCoord, public State getState() public void setState (State currState) public void setAgentMovedPatch() public void setMovedAgent(int origCarbs, int newSugar) public int getSugarAmount() public void growSugarBack() public int getAgentCarbs() public void setAgentVision(int agentVision) public int getAgentVision() public void burnAgentCalories(int distanceMoved) public void updateColor() } package sugarscape; public class SugarScapeGrid extends Grid { public SugarScapeGrid(int gridLength, int sizeOfCell, Pane rootElement, public SugarScapeCell getCell(Location location) public void initializeGrid(CellType type) public void moveAgent(Point p1, Point p2) public void updateCell(Location location, int cellState) } package sugarscape; public class SugarScapeInput extends UserInput { public SugarScapeInput(Stage s, SugarScapeXMLFactory factory, SugarScapeSimulation mySim) public void selectMaxPatchSugar() public void selectTotalAgents() public void selectGrowBack() public void selectAgentMaxCarbs() public void selectAgentMinCarbs() public void selectAgentMetabRate() public void selectAgentVision() public void choosePreset() public void startXMLSimulation() public void startManualSimulation(CellType cellType) public void generateNodes() } package sugarscape; public class SugarScapeSimulation extends Simulation { public SugarScapeSimulation(int myGridLength, int maxSugarPerPatch, int totalAgents, public Scene init(Stage s, CellType type) public Grid instantiateGrid() public void setInitialEnvironment() public void createSeries(LineChart lineChart) public void createCellCounter() public void updateGraph() public void step() public int getMaxPatchSugar() public int getAgentMaxCarbs() public int getAgentMinCarbs() public int getMetabRate() public void updateTotalSugar(int newSugar) public void updateTotalCarbs(int newCarbs) } package waterworld; public class WaTorWorldCell extends Cell { public WaTorWorldCell(int sizeOfCell, Pane rootElement, double xCoord, public State getState () public void setState (State currState) public int getBreedTime () public void setBreedTime (int breedTime) public int getStarveTime () public void setStarveTime (int starveTime) public void decrementBreedTime() public void decrementStarveTime() public void updateColor() } package waterworld; public class WaTorWorldGrid extends Grid { public WaTorWorldGrid(int gridLength, int sizeOfCell, Pane rootElement, public void initializeGrid(CellType type) public WaTorWorldCell getCell(Location location) } package waterworld; public class WaTorWorldInput extends UserInput { public WaTorWorldInput(Stage s, WaTorWorldXMLFactory factory, WaTorWorldSimulation mySim) public void selectFracFish() public void selectFracShark() public void selectFishBreedTime() public void selectSharkBreedTime() public void selectStarveTime() public void startXMLSimulation() public void startManualSimulation(CellType type) public void generateNodes() } package waterworld; public class WaTorWorldSimulation extends Simulation { public WaTorWorldSimulation(int gridLength, double fracFish, double fracShark, public Scene init (Stage s,CellType type) public Grid instantiateGrid() public void setInitialEnvironment() public void createSeries(LineChart lineChart) public void createCellCounter() public void updateGraph() public void manuallyModifyStateOfGrid() public void step () } package xml; public class FireXMLFactory extends SimulationXMLFactory { public FireXMLFactory (Element rootElement) public String getSimulationType () public double getProbCatch() } package xml; public class ForagingAntsXMLFactory extends SimulationXMLFactory{ public ForagingAntsXMLFactory(Element rootElement) public String getSimulationType() public int getDuration() public int getNestLocationRow() public int getNestLocationColumn() public int getFoodSourceLocationRow() public int getFoodSourceLocationColumn() public int getMaxAntsPerSim() public int getMaxAntsPerLocation() public int getAntLifetime() public int getNumInitialAnts() public int getAntsBornPerStep() public double getMinPheromone() public double getMaxPheromone() public double getEvapRatio() public double getDiffusionRatio() } package xml; public class GameOfLifeXMLFactory extends SimulationXMLFactory { public GameOfLifeXMLFactory (Element rootElement) public String getSimulationType () public double getPercentageAlive() } package xml; public class SegregationXMLFactory extends SimulationXMLFactory { public SegregationXMLFactory(Element rootElement) public String getSimulationType() public double getSatisfyThreshold() public double getPercA() public double getPercB() public double getPercEmpty() } package xml; public abstract class SimulationXMLFactory extends XMLFactory { public SimulationXMLFactory (Element rootElement) public boolean isValidFile () public int getGridSize() public int hasSpecificStates() public void errorPopup(String errorText) public abstract String getSimulationType(); } package xml; public class SlimeXMLFactory extends SimulationXMLFactory{ public SlimeXMLFactory(Element rootElement) public String getSimulationType() public double getThreshold() public double getProbMold() public double getDiffusionAmt() public double getStepAmt() public double getDissipateAmt() } package xml; public class SugarScapeXMLFactory extends SimulationXMLFactory { public SugarScapeXMLFactory(Element rootElement) public String getSimulationType() public int getSugarGridSize() public int getMaxSugarPerPatch() public int getTotalAgents() public int getGrowBackRate() public int getAgentMaxCarbs() public int getAgentMinCarbs() public int getAgentMetabRate() public int getAgentVision() public int getPreset() } package xml; public class WaTorWorldXMLFactory extends SimulationXMLFactory { public WaTorWorldXMLFactory (Element rootElement) public String getSimulationType () public double getFracFish() public double getFracShark() public int getFishBreedTime() public int getSharkBreedTime() public int getStarveTime() } package xml; public abstract class XMLFactory { public XMLFactory (Element rootElement) public abstract boolean isValidFile (); } package xml; public class XMLParser { public Element getRootElement (String xmlFilename) }