package board; public class BoardBuilder { public static ArrayList fullBoard( public static ArrayList randomCountsBoard( public static ArrayList randomBernoulliBoard( public static ArrayList defaultNonDefaultBoard( } package board; public class BoardConfigurationSaver { public static void saveBoard(ArrayList board, String fileName) } package board; public class CustomNeighborConnection extends NeighborConnection { public CustomNeighborConnection(boolean[] c, boolean wrap) public boolean[] getConnect() } package board; public class NeighborConnection { public NeighborConnection(NeighborConnectionType t, boolean wrap) public NeighborConnectionType getType() public boolean isWrap() } package board; public class RandomBoardInitializer { public static Cell[][] bernoulliRandomInitialize( public static Cell[][] fixedCountRandomInitialize( } package cell; public abstract class Cell { public Cell(int value, Rule rule) public void setAllValue(int value) public abstract void prepareForUpdate(); public boolean update() public CellNeighbors getNeighbors() public void setNeighbors(CellNeighbors neighbors) public CellValue getValue() public void setValue(CellValue value) public CellValue getNextValue() public Rule getRule() public void setRule(Rule rule) public int getX() public void setX(int x) public int getY() public void setY(int y) public String getSaveStr() public String toString() } package cell; public class CellColors{ public static Color[] fireColors() public static Color[] waTorColors() public static Color[] segregationColors() public static Color[] reproductionColors() } package cell; public class CellFactory { public static Cell newCell(String type, int value, Rule rule) throws FileParsingException public static Cell newCellFromString(String type, String cellStr, Rule rule) throws FileParsingException } package cell; public class CellNeighbors { public ArrayList toList() public ArrayList getValues() public Cell getTl() public void setTl(Cell tl) public Cell getT() public void setT(Cell t) public Cell getTr() public void setTr(Cell tr) public Cell getR() public void setR(Cell r) public Cell getBr() public void setBr(Cell br) public Cell getB() public void setB(Cell b) public Cell getBl() public void setBl(Cell bl) public Cell getL() public void setL(Cell l) } package cell; public class CellValue { public CellValue(int v) public int getVal() public void setVal(int val) } package cell; public class FireCell extends Cell { public FireCell(int value, FireRule rule) public void prepareForUpdate() } package cell; public class InvalidCell extends Cell { public InvalidCell() public void prepareForUpdate() } package cell; public class ReproductionCell extends Cell { public ReproductionCell(int value, Rule rule) public void prepareForUpdate() } package cell; public class SegregationCell extends Cell { public SegregationCell(int value, SegregationRule rule) public void prepareForUpdate() } package cell; public class WaTorCell extends Cell { public WaTorCell(int value, WaTorRule rule) public String getSaveStr() public void step() public void eat() public void resetReproduceTimer() public void changeType(int type) public void changeTypeAndKeepReprTimer(int type, int ttr) public void changeTypeAndKeepReprTimerAndKeepHealth(int type, int ttr, int health) public void prepareForUpdate() public boolean update() public int getCurrentHealth() public void setCurrentHealth(int currentHealth) public int getTimeToReproduce() public void setTimeToReproduce(int timeToReproduce) } package global_stepper; public abstract class BaseStepper { public BaseStepper(ArrayList board) public abstract void step(); } package global_stepper; public class LocalStepper extends BaseStepper { public LocalStepper(ArrayList board) public void step() } package global_stepper; public class SegregationStepper extends BaseStepper { public SegregationStepper(ArrayList board) public void step() } package global_stepper; public class WaTorStepper extends BaseStepper { public WaTorStepper(ArrayList board) public void step() } package io; public class FileParsingException extends Exception { public FileParsingException(String e) public String toString() public String getMessage() } package io; public interface SpecFileParserDelegate { public void showErrorMsg(String s); public void showWarningMessage(String msg); } package io; public class SpecificationFileParser { public SpecificationFileParser(SpecFileParserDelegate d) public void readFile(String name) throws FileParsingException public Rule getRule() public ArrayList getBoard() } package main; public class ApplicationLauncher extends Application { public void start(Stage primaryStage) throws Exception } package main; public class MainController implements SimulationDisplayDelegate, SpecFileParserDelegate { public MainController() public void pauseSimulation() public void resumeSimulation() public void changeSimulationSpeed(double newRate) public void resetSimulation() public void setSimulationFileName(String newSim) public void stepSimulation() public void setSimulator(SimulationController s) public SimulationDisplay getDisplay() public void saveBoard() public void start() public void showErrorMsg(String s) public void showWarningMessage(String msg) } package main; public class SimulationController { public SimulationController(ArrayList bd, SimulationDisplay sd) public void setSimType() public void createBoard(List board) public void updateBoard(List board) public void step() public void setDisplay(SimulationDisplay d) public SimulationDisplay getDisplay() public void saveBoard(String fileName) } package rule; public class FireRule extends Rule { public FireRule(double prob) public double getProbCatch() public void setProbCatch(double probCatch) public String toString() } package rule; public class NonTotalisticRule extends Rule { public NonTotalisticRule(ArrayList sAllowed, ArrayList bAllowed) public int nextValue(Cell c) } package rule; public class ReproductionRule extends Rule { public ReproductionRule(ArrayList liveCounts, ArrayList emergeCounts) public ArrayList getLiveNeighborCounts() public ArrayList getEmergeNeighborCounts() public String toString() } package rule; public abstract class Rule { } package rule; public class SegregationRule extends Rule { public SegregationRule(double threshold) public double getSatisfactionThreshold() public void setSatisfactionThreshold(double satisfactionThreshold) } package rule; public class WaTorRule extends Rule { public WaTorRule() public String toString() public int getInitialHealth() public void setInitialHealth(int initialHealth) public int getMinReproductionHealth() public void setMinReproductionHealth(int minReproductionHealth) public int getSharkReproductionInterval() public void setSharkReproductionInterval(int sharkReproductionInterval) public int getFishReproductionInterval() public void setFishReproductionInterval(int fishReproductionInterval) public int getFishEnergy() public void setFishEnergy(int fishEnergy) } package ui; public class CellDisplayInfo { public CellDisplayInfo(int xCoordinate, int yCoordinate, Color fillColor) } package ui; public abstract class GridDisplay { public GridDisplay(int rows, int columns, double width, double height, List cells) public void updateBoard(List changedCells) public Pane getBoard() } package ui; public class LineChartManager { public LineChartManager() public void chartCreator(List board) public void updateChart(List board) public LineChart getMyChart() } package ui; public class SimulationDisplay { public SimulationDisplay() public Scene getScene() public void addBoard(GridDisplay gridDisplay, double x, double y) public void addChart(LineChart lineChart) @Override public void handle(MouseEvent e) @Override public void handle(MouseEvent e) public void setDelegate(MainController controller) public double getWindowWidth() public double getWindowHeight() public String getShapeSelection() } package ui; public interface SimulationDisplayDelegate { public void stepSimulation(); public void resetSimulation(); public void changeSimulationSpeed(double newRate); public void resumeSimulation(); public void pauseSimulation(); public void setSimulationFileName(String newSim); public void saveBoard(); } package ui; public class SquareGridDisplay extends GridDisplay { public SquareGridDisplay(int rows, int columns, double width, double height, List cells) } package ui; public class TriangleGridDisplay extends GridDisplay { public TriangleGridDisplay(int rows, int columns, double width, double height, List cells) }