package animation.controls.button; public abstract class ButtonAbstract { public ButtonAbstract() public Button getButton() } package animation.controls.button; public class ButtonGo extends ButtonAbstract { public ButtonGo() } package animation.controls.button; public class ButtonPause extends ButtonAbstract { public ButtonPause() } package animation.controls.button; public class ButtonStop extends ButtonAbstract { public ButtonStop() } package animation.controls.button; public class ButtonString extends ButtonAbstract { public ButtonString(String text) } package animation.controls.label; public class Header extends LabelAbstract { public Header(String text) } package animation.controls.label; public class LabelAbstract { public LabelAbstract(String text) public Label getLabel() } package animation.controls.label; public class Message extends LabelAbstract { public Message(String text) } package animation.controls.label; public class SmallLabel extends LabelAbstract { public SmallLabel(String text) } package animation.controls.pane; public class PaneGenerator { public PaneGenerator(Scene scene) public Pane createSimulationMenuPane() public StackPane getSimulationMenuPane() public GridPane getMainMenuPane() public Pane getXMLMenuPane() } package animation.navigation; public class GUIGenerator { public GUIGenerator(Scene scene, Group r, ResourceBundle resource, XmlMapper info) public Pane generateMainScreen() public Button generateSimulationScreenMainButton(Loop loop) public Label generateSimulationScreenLabel() } package animation.navigation.menu; public class MainMenu implements Menu { public MainMenu(Group r, GUIGenerator gui) public void generateMenu() } package animation.navigation.menu; public interface Menu { public void generateMenu(); } package animation.navigation.menu; public class SimulationMenu implements Menu { public SimulationMenu(Scene scene, Group r, XmlMapper info, GUIGenerator gui, ResourceBundle resources) public void generateMenu() } package animation.navigation.menu; public class XmlMenu implements Menu { public XmlMenu(Scene scene, Group r, GUIGenerator gui, XmlMapper info, ResourceBundle resource, String simulationname) public void generateMenu() } package animation.navigation; public class Navigator { public Navigator(Stage s, double w, double h) public Navigator(Scene scene, Group r, XmlMapper info) public void init() public void createXmlMenu(String name) public void createSimluationMenu() public void createMainMenu() } package animation.navigation.xmlselections; public class FireSelections extends XmlSelection { public FireSelections(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() public Label createProbLabel() public Slider createProbSlider() } package animation.navigation.xmlselections; public class GameOfLifeSelections extends XmlSelection { public GameOfLifeSelections(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() } package animation.navigation.xmlselections; public class PredatorPreySelections extends XmlSelection { public PredatorPreySelections(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() public Label createEnergyLabel() public Label createFishReproductionLabel() public Label createSharkReproductionLabel() } package animation.navigation.xmlselections; public class SegregationSelections extends XmlSelection { public SegregationSelections(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() } package animation.navigation.xmlselections; public class SugarSelections extends XmlSelection { public SugarSelections(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() public Label createSugarGrowthLabel() public Label createVisionLabel() public Label createMetabolismLabel() public Label createInitialSugarLabel() } package animation.navigation.xmlselections; public class XmlSelection { public XmlSelection(Scene scene, Group r, XmlMapper info, ResourceBundle resource) public Pane generateXMLScreen() public UserInputToXML startXMLMap(int numStates) public String getWrapping() public String getShape() public ComboBox getSimulationCombo() public int getCellNumber() public Button makeMainMenuButton() public Slider createGeneralSlider(int start, int end, double position, double tickunit, double x, double y, double minwidth) public ComboBox createGeneralComboBox(double x, double y, double minwidth, ObservableList list) public Label createSmallLabel(String s, double x, double y) public Pane getScreen() } package animation.simulation.color; public class CellColor { public CellColor() public Color getColor(int state) } package animation.simulation.color; public class FireColor extends CellColor { public FireColor() } package animation.simulation.color; public class GameOfLifeColor extends CellColor { public GameOfLifeColor() } package animation.simulation.color; public class PredatorPreyColor extends CellColor { public PredatorPreyColor() } package animation.simulation.color; public class SegregationColor extends CellColor { public SegregationColor() } package animation.simulation.color; public class SugarColor extends CellColor { public SugarColor() } package animation.simulation; public class GUISimulation { public GUISimulation(Scene scene, XmlMapper info, Timeline animation) public Pane generateSimulationScreen() public Pane generateSimulationScreenButton(ResourceBundle resources, Group root) public Pane generateSimulationScreenControls(ResourceBundle resources) public LineChart generatSimulationChart(ResourceBundle resources) public void play() public void stopAnimation() public LineChart getLineChart() public Pane getStackPane() } package animation.simulation.shape; public abstract class GridShape { public GridShape() public Pane drawGrid(Grid grid, int w, int h) public void insertStatesList(int state) public Iterator iterator() public boolean hasNext() public Integer next() public void remove() public CellColor getColor() public Pane getScreen() public void setColor(CellColor color) } package animation.simulation.shape; public class HexagonGrid extends GridShape { public HexagonGrid() public Pane drawGrid(Grid grid, int w, int h) } package animation.simulation.shape; public class SquareGrid extends GridShape { public SquareGrid() public Pane drawGrid(Grid grid, int w, int h) } package animation.simulation.shape; public class TriangleGrid extends GridShape { public TriangleGrid() public Pane drawGrid(Grid grid, int w, int h) } package engine; public class Loop { public Loop(MetaData meta, Grid grid) public Loop(Scene s, XmlMapper info, Group r, ResourceBundle resources) public void init() public GUISimulation getSimulationGUI() } package engine.neighbors; public class HexagonalNeighbors extends Neighbor{ public HexagonalNeighbors(Grid grid, String wrapping) public int getSouthCell(Cell cell) public List getImmediateNeighbors(Cell cell) public List getDiagonalNeighbors(Cell cell) public List getSurroundingNeighbors(Cell cell, int vision) public List getOrderedNeighbors(Cell cell) } package engine.neighbors; public abstract class Neighbor { public Neighbor(Grid grid, String wrapping) public abstract List getImmediateNeighbors(Cell cell); public abstract List getDiagonalNeighbors(Cell cell); public abstract List getSurroundingNeighbors(Cell cell, int vision); public abstract List getOrderedNeighbors(Cell cell); public boolean isToroidal() public List getCellList() public Grid getGrid() public int getGridSize() public int getGridWidth() } package engine.neighbors; public class SquareNeighbors extends Neighbor { public SquareNeighbors(Grid grid, String wrapping) public List getImmediateNeighbors(Cell cell) public List getDiagonalNeighbors(Cell cell) public List getSurroundingNeighbors(Cell cell, int vision) public List getOrderedNeighbors(Cell cell) } package engine.neighbors; public class TriangleNeighbors extends Neighbor{ public TriangleNeighbors(Grid grid, String wrapping) public List getImmediateNeighbors(Cell cell) public List getDiagonalNeighbors(Cell cell) public List getSurroundingNeighbors(Cell cell, int vision) public List getOrderedNeighbors(Cell cell) } package engine.update; public abstract class Update { public Update(Grid grid, Neighbor neighbor) public List getNeighbors(Cell cell) public abstract void determineUpdates(); public void updateCells() } package engine.update; public class UpdateFire extends Update { public UpdateFire(Grid newGrid, Neighbor newNeighbors) public void determineUpdates() } package engine.update; public class UpdateGameOfLife extends Update { public UpdateGameOfLife(Grid newGrid, Neighbor newNeighbors) public List getNeighbors(Cell cell) public void determineUpdates() } package engine.update; public class UpdatePredatorPrey extends Update { public UpdatePredatorPrey(Grid newGrid, Neighbor newNeighbors) public Cell move(Cell cell, boolean reproduce) public Cell eat(AnimalCell shark, boolean reproduce) public int selectCell(List fishCells) public void swap(AnimalCell animal1, AnimalCell animal2) public void reproduce(Cell cell1, Cell cell2) public void determineUpdates() public void determineFishUpdates(ArrayList fishes) public void determineSharkUpdates(ArrayList sharks) public void displayCells(int animalState) public void updateCells() } package engine.update; public class UpdateSegregation extends Update { public UpdateSegregation(Grid newGrid, Neighbor newNeighbors) public List getNeighbors(Cell cell) public boolean isSatisfied(Cell cell) public void move(Cell cell) public void swap(Cell cell1, Cell cell2) public void determineUpdates() } package engine.update; public class UpdateSugar extends Update { public UpdateSugar(Grid newGrid, Neighbor newNeighbors) public List getNeighbors(Cell cell) public Cell getMaxSugarCell(ArrayList patches) public void swap(SugarCell sugar1, SugarCell sugar2) //sugar1 becomes patch, sugar2 becomes agent public void determineUpdates() public void determinePatchUpdates(ArrayList patches) public void determineAgentUpdates(ArrayList agents) public void displayCells(int sugarState) public void updateCells() } public class Main extends Application { public void start (Stage s) } package readxml.XMLGenerator; public class UserInputToXML { public UserInputToXML(int numCells) public void addParameter(String key, String value) public void setMaxStates(int numStates) public void setSimulation(String simulationName) public void setProbCatch(double prob) public void setShape(String shape) public void setWrapping(String wrapping) public void setSatisfactionRate(double rate) public void setEnergy(int energy) public void setFishReproductionTime(int time) public void setSharkReproductionTime(int time) public void setInitSugar(int initSugar) public void setSugarGrowBackTime(int time) public void setVision(int vision) public void setSugarMetabolism(int sugarMetabolism) public void generateXML() public XmlMapper getMapper() public void printGlobalsMap() } package readxml.XMLGenerator; public class XMLGenerator { public String createXML(Map globalMap, int index) public String generateFile(String text, Map globalMap, int index) public String getFileName() public String generateSquareWithRandomState(int maxStateValue, int index) } package readxml; public class XmlMapper { public XmlMapper() public void mapXml(String filename) public Grid getGrid() public MetaData getMeta() public Loop getLoop() } package structures.cell; public class AnimalCell extends Cell { public AnimalCell() public AnimalCell(int cell_num, int cell_state, int initEnergy, int fish, int shark) public int getTime() public int getEnergy() public int getFishTime() public int getSharkTime() public void setTime(int time) public void setEnergy(int energy) } package structures.cell; public class Cell { public Cell() public Cell(int cell_num, int cell_state) public int getNumber() public int getPreviousState() public int getCurrentState() public int getNextState() public void setNumber(int new_number) public void setPreviousState(int new_previous) public void setCurrentState(int new_current) public void setNextState(int new_next) } package structures.cell; public class FireCell extends Cell { public FireCell(int cell_num, int cell_state, Double prob) public Double getProbCatch() } package structures.cell; public class SegregationCell extends Cell { public SegregationCell(int num, int state, double satisfaction) public double getSatisfaction() } package structures.cell; public class SugarCell extends Cell { public SugarCell() public SugarCell(int cell_num, int cell_state, int initSugar, int sugarGrowBackTime, int vision, int sugarMetabolism) public int getSugar() public int getSugarTime() public int getSugarGrowBackTime() public int getVision() public int getSugarMetabolism() public int getPatchSugar() public int getPatchSugarCapacity() public void setSugar(int sugar) public void setSugarTime(int sugarTime) public void setPatchSugar(int patchSugar) } package structures; public class Grid implements Iterable{ public Grid(List cellList, int rows, int columns, MetaData meta) public int getNumCells() public void reset() public Iterator iterator() public boolean hasNext() public Cell next() public void remove() public List getCellList() public List getInitialCellList() public int getRows() public int getColumns() public String getCellShape() public void setCellList(List cellList) public void setInitialCellList(List cellList) public void setRows(int rows) public void setColumns(int columns) public void setCellShape(String cellShape) } package structures; public class MetaData { public void setCellShape(Grid grid, String name, String wrapping) public void setSimulationName(String name, Grid grid) public String getSimulationName() public String getFileName() public CellColor getColor() public GridShape getGridShape() public Neighbor getNeighbors() public Update getUpdate() public String getShape() public int getNumStates() public void setSimulationName(String simulationName) public void setShape(String shape) public void setFileName(String file) public void setNumStates(int num) }