package cells; public class Cell { public Cell(State s, int id, Iterable neighborIt) public State getState() public State getnewState() public void setState(State s) public int getID() public Iterable getNeighbors() public int numNeighbors() } package cells; public class Grid { public Grid(int x, int y, Rules rulSet) public void addCell(int ID, State state, Iterable neighborIDs) public State getState(int ID) public void update() public State[] getStates() public void setState(int ID, State s) } package cells; public class State { public State(int numStates, int numSubStates, Iterable> stateIterable) public State(int numStates, Iterable stateIteratable) public State(double[] arr) public State(double state) public double getStateVal(int stateNumber) public double getStateVal() public Iterable getStateValIter() public Iterable getStateValIter(int num) public int subStateNum() public double getDoubleFromSlotAndSlotIndex(int slot, int index) public void deleteSubState(int subStateNum) public void addSubState(Iterable subState) public void setStateVal(int stateNum, double val) public void addStateVal(int stateNum, double valToAdd) } package controller; public class EdgeCenterIndexFinder { public EdgeCenterIndexFinder(int numRows,int numCols) public int[][] getGrid() public Iterable findCorners() public Iterable findRightEdge() public Iterable findLeftEdge() public Iterable findTopEdge() public Iterable findBottomEdge() public Iterable findCenter() } package controller; public class GridController { public GridController(Map> xmlInput, int neighborNum, int rulenum, int rowLeng, int colLeng) public Rules rulesMaster(int ruleNum) public Color[] reset() public Color[] stepAndUpdate() public Color[] update() public void cycleState(int i) public String[] getParameterStrings() } package controller; public class HexGridController extends GridController{ public HexGridController(Map> xmlInput, int neighborNum, int ruleSet, int rowLeng, } package controller; public class HexNeighbors extends Neighbors{ public HexNeighbors(int numRows, int numCols, int config) public void populateNeighborsMap() public void findNeighborsCorners() public void findNeighborsRightEdge() public void findNeighborsLeftEdge() public void findNeighborsTop() public void findNeighborsBottom() public void findNeighborsCornersTor() public void findNeighborsRightEdgeTor() public void findNeighborsLeftEdgeTor() public void findNeighborsTopTor() public void findNeighborsBottomTor() public void findNeighborsCenter() } package controller; public class LoopController extends GridController { public LoopController(Map> xmlInput, int neighborNum, int ruleSet, int rowLeng, } package controller; public class Neighbors { public Neighbors(int yCells, int xCells, int desiredConfig) public Iterable getNeighbors(int index) public int right(int index) public int left(int index) public int down(int index) public int up(int index) public int upRight(int index) public int upLeft(int index) public int downRight(int index) public int downLeft(int index) } package controller; public class RectGridController extends GridController { public RectGridController(Map> xmlInput, int neighborNum, int ruleSet, int rowLeng, } package controller; public class RectNeighbors extends Neighbors{ public RectNeighbors(int numRows, int numCols, int desiredConfig) public int right(int index) public int left(int index) public int down(int index) public int up(int index) public int upRight(int index) public int upLeft(int index) public int downRight(int index) public int downLeft(int index) } package controller; public class TriGridController extends GridController { public TriGridController(Map> xmlInput, int neighborNum, int ruleSet, int rowLeng, } package controller; public class TriNeighbors extends Neighbors { public TriNeighbors(int length, int height, int desiredConfig) public void findNeighborsRightEdge3Tor() } package exceptions; public class ColorMapDataException extends Exception { public ColorMapDataException() } package exceptions; public class ProbOrientationDataException extends Exception { public ProbOrientationDataException () } public class Main extends Application{ public void start(Stage primaryStage) } package rules; public class ants { public Cell[] check(Cell[] cells) public void evap(Cell current) public void diffuse(Cell current) public void moveAnts(Cell current) public void returnToNest(Cell current, ArrayList currentAnt, int antSubStateIndex ) public void findFood(Cell current, ArrayList currentAnt, int antSubStateIndex) public void move(Cell current, ArrayList currentAnt, int antSubStateIndex, int newIndex) public int getMaxHomePheromoneNeighborIndex(Cell c) public int getMaxFoodPheromoneNeighborIndex(Cell c) public int numAnts(Cell c) public boolean hasAnt(Cell c) public boolean maxAnts(Cell c) public ArrayList> getAnts(Cell c) public boolean hasFood(ArrayList ant) public void dropFood(ArrayList ant) public void pickupFood(ArrayList ant) public void antPheromoneLevel(ArrayList ant, double level) public double antPheromoneLevel(ArrayList ant) public double orientation(ArrayList ant) public void setOrientation(ArrayList ant, double orientation) public void antIter() public boolean isFoodSource(Cell c) public boolean isNest(Cell c) public boolean isObstacle(Cell c) public double homePheromoneLevel(Cell c) public double foodPheromoneLevel(Cell c) public void addHomePheromones(Cell c, double val) public void addFoodPheromones(Cell c, double val) public void addHomePheromones(Cell c) public void addFoodPheromones(Cell c) public void subHomePheromones(Cell c) public void subFoodPheromones(Cell c) public double awayPheromoneLevel(Cell c) } package rules; public class catchingFireRules extends Rules{ public String[] getParams() public void setProbCatch (double probCatch) public void setBurnTime (int burnTime) public Cell[] check(Cell[] cells) } package rules; public class gameOfLifeRules extends Rules{ public String[] getParams() public Cell[] check(Cell[] myCells) } package rules; public class loop extends Rules{ public String[] getParams() public Cell[] check(Cell[] cells) public void straightAdd(Cell c) public void turnAdd(Cell c) public void setToCurrent(Cell c) public void setToTurnAdd(Cell c) public void setToStraightAdd(Cell c) public int distance(Cell c) public void distanceAddOne(Cell c) public void distanceSubOne(Cell c) public boolean isStraightAdd(Cell c) public boolean isTurnAdd(Cell c) public boolean isCurrent(Cell c) public int direction(Cell c) } package rules; public class predPreyRules extends Rules{ public String[] getParams() public void setFishReprodTime (int fishReprodTime) public void setSharkReprodTime (int sharkReprodTime) public void setSharkEnergy (int sharkEnergy) public void setEnergyGain (int energyGain) public Cell[] check(Cell[] myCells) public void sharkMove(Cell current, int cellNum) public void fishMove(Cell current, int cellNum) } package rules; public abstract class Rules { public Cell[] check(Cell[] cells) public boolean isTaken(Cell c) public State[] getNeighborStates(int ID, Cell[] c) public void setState(int ID, State s) public abstract String[] getParams(); } package rules; public class segregationRules extends Rules{ public String[] getParams() public void setSatifRatio (double satifRatio) public Cell[] check(Cell[] cells) } package rules; public class slimeMold extends Rules { public String[] getParams() public Cell[] check(Cell[] cells) public boolean isOpen(int ID) public boolean cAMPAboveThreshold(Cell c) public double cAMPval(Cell c) public void setcAMPval(Cell c, double newVal) public double getcAMP(Cell c) public boolean hascAMP(Cell c) public boolean isMold(Cell c) public void diffuse(Cell c) public void evaporate(Cell c) public void dropcAMP(Cell c) public void moveMold(Cell c) public ArrayList sniff(TreeMap, State> neighborMap, ArrayList possibleSniff) public void setToOpen(Cell c) public void setToMold(Cell c) public void setDirection(Cell c, double d) public void moveTo(Cell c, ArrayList placeToMove) public void randomMove(Cell c) public TreeMap, State> neighborMap(Cell c) public ArrayList possibleMoves(Cell c) public ArrayList possibleSniffs(Cell c) } package rules; public class sugarScape extends Rules{ public String[] getParams() public Cell[] check(Cell[] cells) public void moveToMaxSugar(Cell c) public int maxSugarIndex(Cell c) public void growBack(Cell c) public void metaboliseSugar(Cell c) public double getSugar(Cell c) public void moveAgent(Cell toCombine, Cell source) public double getSugarMetabolism(Cell c) public boolean isAgent(Cell c) } package rules; public class sugarScape2 extends Rules{ public String[] getParams() public Cell[] check(Cell[] cells) public void moveToMaxSugar(Cell c) public int maxWelfIndex(Cell c) public void growBack(Cell c) public void metaboliseSugar(Cell c) public double getSugar(Cell c) public double getSpice(Cell c) public double calculateWelfare(Cell c, Cell pot) public void moveAgent(Cell toCombine, Cell source) public double getSugarMetabolism(Cell c) public boolean isAgent(Cell c) } package ui; public class Hexagon { public Hexagon(double startX, double startY, double startWidth, double startHeight) public Polygon getHexagon() } package ui; public class HexCell extends UICell{ public HexCell(double startX, double startY, double startWidth, double startHeight, boolean stroke) } package ui; public class HexGrid extends UIGrid{ public HexGrid(int inputXCells, int inputYCells, double paneWidth, double paneHeight, } package ui; public class PaneWithButtons extends Pane { public void setLoadFile(boolean b) public boolean needToLoadFile() } package ui; public class ParameterEditor extends PaneWithButtons{ public ParameterEditor(int offset) public void parameterReady(boolean b) public boolean isTimeToEdit() public void setParameters(String[] parametersArray) public double getNewParameter() } package ui; public class RectCell extends UICell{ public RectCell(double startX, double startY, double startWidth, double startHeight, boolean stroke) } package ui; public class RectGrid extends UIGrid{ public RectGrid(int inputXCells, int inputYCells, double paneWidth, double paneHeight, } package ui; public class SideBar extends PaneWithButtons{ public SideBar(int width,int height) public double getSliderValue() public boolean isStep() public boolean isRunning() public boolean isReset() public void setStep(boolean step) public void setRunning(boolean running) public void setReset(boolean reset) } package ui; public class Triangle { public Triangle(double startX, double startY, double width, double height) public Polygon getTriangle() } package ui; public class TriCell extends UICell{ public TriCell(double startX, double startY, double startWidth, double startHeight, boolean stroke) } package ui; public class TriGrid extends UIGrid{ public TriGrid(int inputXCells, int inputYCells, double paneWidth, double paneHeight, } package ui; public class UI { public String getTitle () public Scene init(int width, int height,Timeline tL) public void step (double elapsedTime) } package ui; public class UICell extends Pane { public UICell(double startX, double startY,double startWidth,double startHeight,boolean stroke) public int getX() public int getY() public Shape getUIShape() public String getType() } package ui; public class UIGraph extends PaneWithButtons{ public UIGraph(double height, double offset) public void updateGraph(Color[] stateColors, int toAdd) } package ui; public class UIGrid extends Pane { public UIGrid(int inputXCells, int inputYCells, double paneWidth,double paneHeight, boolean stroke) public void updateCell(int index,Color newColor) public UICell getUICellfromIndex(int index) public boolean isCellClicked(int index) public void handle(MouseEvent event) public void setClicked(boolean clicked,int index) } package xml_manipulation; public class FireParser extends XMLParse { public FireParser (File XMLFile) } package xml_manipulation; public class FireWriter extends XMLWriter { public FireWriter () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class GameOfLifeParser extends XMLParse { public GameOfLifeParser (File XMLFile) } package xml_manipulation; public class GameOfLifeWriter extends XMLWriter { public GameOfLifeWriter () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class OldXMLParse { * public static final ints accessible from this class public OldXMLParse(File XMLFile) public List getCellState(int x,int y) public Map> getCellMap() public int getXCells() public int getYCells() public int getRulesNum() public int getSides() public int getSimulationType() } package xml_manipulation; public class PredPreyParser extends XMLParse { public PredPreyParser (File XMLFile) } package xml_manipulation; public class SegregationParser extends XMLParse { public SegregationParser (File XMLFile) } package xml_manipulation; public class SegregationWriter extends XMLWriter { public SegregationWriter () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class SimulationParameters { public SimulationParameters() public SimulationParameters(int simType, boolean scrolling, boolean outline,int width, int height, int cellSides, int neighbors, int edgeType, Map colorMap, int[] extraSimParams) public boolean isScrolling () public void setScrolling (boolean scrolling) public boolean isOutline () public void setOutline (boolean outline) public int getSimType () public void setSimType (int simType) public int getWidth () public void setWidth (int width) public int getHeight () public void setHeight (int height) public int getCellSides () public void setCellSides (int cellSides) public int getNeighbors () public void setNeighbors (int neighbors) public int getEdgeType () public void setEdgeType (int edgeType) public Map getColorMap () public void setColorMap (Map colorMap) public int[] getExtraSimParams () public void setExtraSimParams (int[] extraSimParams) } package xml_manipulation; public class SlimeParser extends XMLParse { public SlimeParser (File XMLFile) } package xml_manipulation; public class SlimeWriter extends XMLWriter { public SlimeWriter () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class Sugar1Writer extends XMLWriter { public Sugar1Writer () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class Sugar2Writer extends XMLWriter { public Sugar2Writer () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class SugarScape1Parser extends XMLParse { public SugarScape1Parser (File XMLFile) } package xml_manipulation; public class SugarScape2Parser extends XMLParse { public SugarScape2Parser (File XMLFile) } package xml_manipulation; public class WaTorWriter extends XMLWriter { public WaTorWriter () public Element generateProbInit (int numCells, Map stateProbs, Node parent) public void createAndAppendSimType (Node parent) } package xml_manipulation; public class XMLInputUI extends PaneWithButtons{ public XMLInputUI(int w) public XMLInputUI(boolean newFile) public boolean isxmlParsed() public void setxmlParsed(boolean b) public XMLParse getXmlParse() } package xml_manipulation; public abstract class XMLParamsWriter { public XMLParamsWriter(SimulationParameters params, Document doc, Node parent) public abstract void createAndAppendSimType(SimulationParameters parameters, Node parent); } package xml_manipulation; public abstract class XMLParse { * public static final ints accessible from this class public XMLParse(File XMLFile) public List getCellState(int x,int y) public Map> getCellMap() public int getXCells() public int getYCells() public int getRulesNum() public int getSides() public int getSimulationType() public int getNeighbors() public boolean isScrolling() public boolean hasOutline() public int getEdgeType () public Rules getRules() } package xml_manipulation; public class XMLParserLoader { public XMLParserLoader(File XMLFile) public XMLParse parsedXML() public XMLParse getParser() } package xml_manipulation; public abstract class XMLWriter { public XMLWriter () public boolean hasGenerated() public void generateManualXML(State[] initialStates, boolean scrolling, int width, int height, boolean outline, int cellSides, Map colorMap, int neighbors, int edgeType) public void generateManualXMLRandInit(int numCells, boolean scrolling, int width, int height, boolean outline, int cellSides, Map colorMap, int neighbors, int edgeType) public void generateRandXML(int numCells, boolean scrolling, int width, int height, boolean outline, int cellSides, Map colorMap, int neighbors, int edgeType) public abstract Element generateProbInit(int numCells, Map stateProbs, Node parent); public abstract void createAndAppendSimType(Node parent); public boolean writeXMLFile(String fileName) public void printOutXML() }