package cells; public class AntCell extends Cell{ public AntCell(Location where) public AntCell(List occupants, int max, Location oldLocation) public boolean isFoodSource() public boolean isNest() public void setIsFoodSource(boolean isFoodSource) public void setIsNest(boolean isNest) public int getFoodPheromones() public void setFoodPheromones(int foodPheromones) public int getHomePheromones() public void setHomePheromones(int homePheromones) public void applyEffect(Species incoming) public void step() public int getState() } package cells; public class Cell { public Cell(Location where) public Cell(List occupants, int max, Location loc) public List getOccupants() public void addOccupant(Species toAdd) public void removeOccupant(Species toRemove) public boolean hasFreeSpace() public boolean hasOccupants() public int getSize() public Location getLocation() public int getState() public int getMaxOccupants() public void setMaxOccupants(int max) public void applyEffect(Species incoming) public void step() public int getFoodAmount() public void setFoodAmount(int foodamount) } public class Main extends Application{ public void start(Stage s) throws Exception } package neighborhood; public class HexagonNeighborhood extends PlusNeighborhood{ } package neighborhood; public abstract class Neighborhood { public List findNeighborsOfState(int state) public List findNeighborsWithSpace() public int getTotalNeighbors() public void setMyNeighbors(List myNeighbors) public List getMyNeighbors() } package neighborhood; public class PlusNeighborhood extends Neighborhood { } package neighborhood; public class WholeNeighborhood extends Neighborhood{ } package shapes; public abstract class CustomShape { public CustomShape(int row, int col, int length, int margin) public abstract void setPosition(); public void setMyRow(int myRow) public void setMyCol(int myCol) public void setMySideLength(int mySideLength) public int getMySideLength() public int getMyRow() public int getMyCol() public boolean isEven(int num) public int getGridMargin() public void setShape(Shape obj) public Node getShape() public abstract void setFill(Color red); } package shapes; public class Hexagon extends CustomShape { public Hexagon(int row, int col, int length, int margin) public void setPosition() public void setFill(Color choice) } package shapes; public class Square extends CustomShape{ public Square(int row, int col, int length, int margin) public void setPosition() public void setFill(Color choice) } package simulation_parser; public class FireSimulation extends SimulationParser{ public FireSimulation() public void setSpeciesParameters(Element speciesInfo, Species mySpecies) } package simulation_parser; public class ForagingAntsSimulation extends SimulationParser{ public ForagingAntsSimulation() public void setSpeciesParameters(Element speciesInfo, Species mySpecies) } package simulation_parser; public class GameOfLifeSimulation extends SimulationParser{ public GameOfLifeSimulation() public void setSpeciesParameters(Element speciesInfo, Species mySpecies) } package simulation_parser; public class PredatorPreySimulation extends SimulationParser{ public PredatorPreySimulation() public void setSpeciesParameters(Element speciesInfo, Species mySpecies) } package simulation_parser; public class SegregationSimulation extends SimulationParser { public SegregationSimulation() public void setSpeciesParameters(Element speciesInfo, Species mySpecies) } package simulation_parser; * match spelling and be a subclass of Species in the species package public abstract class SimulationParser { public void prepareXMLDoc(String filename) public Grid populateGrid() public Grid repopulateGrid() public int getGridHeight() public int getGridWidth() public void initNumCells() public void setCellSize(int input) public String getElement(Element parent, String tagName ) public String getElement(String tagName ) public String getNeighborhoodType() public String getCellShape() public void setCellShape(String cellShape) } package species; public class Agent extends Species { public Agent() public void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell) public double getThresholdPercentage() public void setThresholdPercentage(int thresholdPercentage) public boolean toBreed() public Species clone(Location pos) public boolean isPrey() public boolean isPredator() } package species; public class Ant extends Species { public Ant() public Ant(Location currLoc) public void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell) public void setAtFoodSource(boolean atFoodSource) public void setAtNest(boolean atNest) public void setCurrHomePheromones(int currHomePheromones) public void setCurrFoodPheromones(int currFoodPheromones) public void setStandardLifeTime(int standardLifeTime) public void setMaxPheromones(int maxPheromones) public boolean toBreed() public Species clone(Location pos) public boolean isPrey() public boolean isPredator() } package species; public class Fish extends PredatorPreySpecies { public Fish() public boolean toBreed() public boolean isPredator() public void updateNextLocation(List emptyCells, Neighborhood myneighbors, Cell currCell) public void setStandardBreedTime(int breedTime) public Species clone(Location pos) public boolean isPrey() } package species; public class GameOfLife extends Species{ public GameOfLife() public void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell) public boolean isDead() public boolean isAlive() public boolean toBreed() public Species clone(Location pos) public boolean isPrey() public boolean isPredator() } package species; public abstract class PredatorPreySpecies extends Species{ public abstract boolean toBreed(); public int getTimeUntilBreed() public void setRoomToBreed(boolean room) public boolean getRoomToBreed() public void setTimeUntilBreed(int timeuntilBreed) } package species; public class Shark extends PredatorPreySpecies{ public Shark() public boolean toBreed() public void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell) public boolean reachedStarvation() public void setStandardBreedTime(int breedTime) public void setStandardStarveTime(int starveTime) public Species clone(Location pos) public boolean isPrey() public boolean isPredator() } package species; public abstract class Species { public Species() public Species(Location currLoc) public abstract boolean toBreed(); public abstract Species clone(Location pos); public abstract boolean isPrey(); public abstract boolean isPredator(); public abstract void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell); public Location getCurrLocation() public void setCurrLocation(Location myLocation) public Location getNextLocation() public void setNextLocation(Location nextLocation) public void setCurrState(int mystate) public int getCurrState() public void setNextState(int mystate) public int getNextState() } package species; public class Tree extends Species { public Tree() public void updateNextLocation(List emptyCells, Neighborhood neighbors, Cell currCell) public float getProbabilityBurn() public void setProbabilityBurn(float probabilityBurn) public boolean isBurning() public boolean toBreed() public Species clone(Location pos) public boolean isPrey() public boolean isPredator() } package user_interface; public class ButtonController{ public Button addStartButton(Group root, String name, double xPos, double yPos) public Button addSimButton(Group root, String name, double xPos, double yPos) public Button addBackButton(Group root, String name, double xPos, double yPos) public void setButton(Button btn, double xPos, double yPos, int width, int length) public int getResetButtonWidth() public int getSmallButtonWidth() public int getSmallButtonLength() public int getButtonSize() } package user_interface; * All other classes within this package are called from this class. public class Controller{ public void startController(Stage s) public void setNewInitScene(Stage stage, Scene scene) public void setNewSimScene(Stage stage, Scene scene) public void startGrid(Group g, String path) public void resetSimScene(Stage stage, Scene scene) public void resetGrid(Group g, String path) public void createAnimation(Group g) public void step(Group g, Grid grid, int margin, ResourceBundle rb, double elapsedTime) public void initButtons(Group g) public void simButtons(Group g) public void setStartButton(Group g, Stage stage, Scene scene, String btnLabel, int xPos, int yPos) public void setResetButton(Group g) public void setPlayButton(Group g) public void setStopButton(Group g) public void setStepButton(Group g) public void setDelayButton(Group g) public void setCellSizeButton(Group g) public void setBackButton(Group g) } package user_interface; public class GridController { public Grid startGridReader(Group g, ResourceBundle rb, int margin, String path, Grid grid) public Grid resetGridReader(Group g, ResourceBundle rb, int margin, String path, Grid grid, int input) public void setSimConfig(ResourceBundle rb, String path) public void displayGrid(Group g, Grid grid, int margin) public CustomShape createShape(int row, int col, int gridWidth, int margin) public GameEngine getGameEngine() public void updateCellSize(int input) public void updateDelay(double fps) public int getGridSize() public double getMilliSecondDelay() public double getSecondDelay() public int getNumOfTypeOne() public int getNumOfTypeTwo() public int getNumOfTotalCells() } package user_interface; public class LineGraphController { public void initGraphSettings(Group g, ResourceBundle rb, double xPos, double yPos) public void addDataToSeries(int valOne, int valTwo, int total) public NumberAxis setAxisSettings(NumberAxis axis) public LineChart setLineChartSettings(LineChart lc, public void displayLineChart(Group g, LineChart lc, double xPos, double yPos) public LineChart getChart() } package user_interface; public class SceneController { public SceneController(Stage s, GridController gc) public Scene startScene() public void showTheMan(Group g) public ImageView setPosition(ImageView temp, int width, int height, double d, double e) public String getState() public void setState(String str) public int getUIWidth() public int getUIHeight() public int getMargin() } package user_interface; public class ScrollbarController { public ScrollBar addScrollBar(Group g, double min, double max, double base, double xPos, double yPos) public void addText(Group g, String msg, double xPos, double yPos) public void simScrollBar(Group g, ResourceBundle bundle, int width, int margin) public double getDelayValue() public boolean delayBarExists() } package user_interface; public class TextFieldController { public HBox addHBox(Group g, double xPos, double yPos) public TextField addTextField(Group g) public Label addLabel(Group g, String str) public void cellSizeTextField(Group g, String str, int width, int margin) public int getTFInput() public boolean cellSizeTFExists() } package util; public class GameEngine { public GameEngine(Grid myGrid) public void updateWorld() public void updateCell(Cell currCell, List alreadyVisited, List availableCells) public void applyDecisions() } package util; public class Grid { public Grid(int width, int height, String neighbType, String cellType) public void initializeGrid() public void makeCopy(Cell[][] myOrig) public int getWidth() public int getHeight() public void moveSpecies(Location from, Location to, Species moving) public void addToGrid(Location to, Species toAdd) public void addRandomly(Species currSpecies) public List getAvailableCells() public boolean isValidCell(int row, int col) public Neighborhood createNeighborhood(Location myPos) public Cell getCell(Location pos) public void outputGridValues() public Cell[][] getMyGrid() public void setMyGrid(Cell[][] myGrid) public Cell[][] create2DArray(int width, int height) public Cell createCell(Location toPut) public Cell createCell(List occupants, int max, Location oldLocation) } package util; public class Location { public Location(int x, int y) public boolean equals(Location check) public int getX() public void setX(int x) public int getY() public void setY(int y) public boolean isAdjacent(Location pos) public List getAdjacentCells(List possible) } package util; public class Orientation { public Orientation(String orientation) public String getOrientation() public void setOrientation(String orientation) public void updateOrientation(Location in, Location facing) public List getForwardLocations(Location in) public void setForwardLocations(Location left, Location front, Location right) }