package Controller; public class Controller { public static final HashSet VALID_TYPES = new HashSet<>(Arrays.asList(FIRE,WATOR,RPS, GAME_OF_LIFE,SEGREGATION)); public Controller(Pane gridPane, LineChart lineChart) public void start() public void setUp(Map attributes, boolean isReset) public void update(Map map) public void saveConfig (Map config) throws IOException public void updateFPS(int updatedFPS) public void animationStep() public void stop() public void resume() public void reset() } package Controller; public class XMLException extends RuntimeException { public XMLException (String message, Object ... values) public XMLException (Throwable cause, String message, Object ... values) public XMLException (Throwable cause) } package Controller; public class XMLParser { public XMLParser (String type) public Map getAttribute(File dataFile) } package Model; public class Directions { public static ArrayList getshape(NoOfNeighbors n) public Point getDirection() public Point getDirection() public Point getDirection() public Point getDirection() public Point getDirection() } package Model; public class RPSCell extends Cell { public RPSCell(Point position, RPSGrid grid, CellStates.RPSStates state, Directions.NoOfNeighbors gridConfig, int maxHit) public void calculateNextState() } package Model; public class FireGrid extends Grid { public FireGrid(int numRows, int numColumns, boolean rowWrap, boolean columnWrap, Directions.NoOfNeighbors gridConfig) } package Model; public abstract class Simulation { public Simulation(int numRows, int numColumns, Map initialState, int noOfSides) public abstract void step(); public Map getView() public Map getStatistics() public abstract String toString(); } package Model;//package Model; public class SegregationCell extends Cell { public SegregationCell(Point position, SegregationGrid grid, CellStates.SegregationStates state, Directions.NoOfNeighbors gridConfig, double satisfactionThreshold) public void setSatisfactionThreshold(double satisfactionThreshold) public double getSatisfactionThreshold() public void setSatisfed(boolean satisfied) public boolean isSatisfied() public void calculateNextState() } package Model;//package Model;//package Model; public class WatorGrid extends Grid { public WatorGrid(int numRows, int numColumns, boolean rowWrap, boolean columnWrap, Directions.NoOfNeighbors gridConfig) public void changeNeighborState(Point position, CellStates.WatorStates outcome) public void swapPositions(Point current, Point destination) } package Model; public class Point { public static final Point ZERO = new Point(0, 0); public Point(int x, int y) public int getX() public int getY() public Point add(int x, int y) public Point add(Point p) public boolean equals(Object p) public int hashCode() public String toString() } package Model; public class RPSSimulation extends Simulation { public RPSSimulation(int numRows, int numColumns, Map initialState, int noOfSides, int maxHit) public void step() public String toString() } package Model;//package Model;//package Model; public class WatorSimulation extends Simulation { public WatorSimulation(int numRows, int numColumns, Map initialState, int noOfSides, int fishTurnsToBreed, int sharkTurnsToBreed) public void step() public void render() public String toString() } package Model; public abstract class Grid { } package Model; public class GameOfLifeGrid extends Grid { public GameOfLifeGrid(int numRows, int numColumns, boolean rowWrap, boolean columnWrap, Directions.NoOfNeighbors gridConfig) } package Model; public class GameOfLifeSimulation extends Simulation { public GameOfLifeSimulation(int numRows, int numColumns, Map initialState, int noOfSides) public void step() public String toString() } package Model; public class RPSGrid extends Grid { public RPSGrid(int numRows, int numColumns, boolean rowWrap, boolean columnWrap, Directions.NoOfNeighbors gridConfig) } package Model;//package Model; public class FireSimulation extends Simulation { public FireSimulation(int numRows, int numColumns, Map initialState, int noOfSides, double proCatchFire) public void step() public String toString() } package Model;//package Model; public class SegregationSimulation extends Simulation { public SegregationSimulation(int numRows, int numColumns, Map initialState, int noOfSides, double threshold) public void step() public String toString() } package Model;//package Model; public class FireCell extends Cell { public FireCell(Point position, FireGrid grid, CellStates.FireStates state, Directions.NoOfNeighbors gridConfig, double probCatchFire) public void setProbCatchFire(double probCatchFire) } package Model;//package Model; public class WatorCell extends Cell { public WatorCell(Point position, WatorGrid grid, CellStates.WatorStates state, Directions.NoOfNeighbors gridConfig, int fishTurnsToBreed, int sharkTurnsToBreed) public void calculateNextState() } package Model; public class CellStates { public static GameOfLifeStates fromInt(int i) public static SegregationStates fromInt(int i) public static FireStates fromInt(int i) public static WatorStates fromInt(int i) public static RPSStates fromInt(int i) } package Model;//package Model; public class SegregationGrid extends Grid { public SegregationGrid(int numRows, int numColumns, boolean rowWrap, boolean columnWrap, Directions.NoOfNeighbors gridConfig) } package Model; public class GameOfLifeCell extends Cell { public GameOfLifeCell(Point position, GameOfLifeGrid grid, CellStates.GameOfLifeStates state, Directions.NoOfNeighbors gridConfig) } package Model; public abstract class Cell { public String toString() } package View; public class GameOfLifeStatsGraph extends StatsGraph { public GameOfLifeStatsGraph(LineChart lineChart) public void update(Map stats) } package View; public class Layout extends UIManager{ public Layout(GridPane gridPane) } package View; public class SegregationStatsGraph extends StatsGraph{ public SegregationStatsGraph(LineChart lineChart) public void update(Map stats) } package View; public class FireStatsGraph extends StatsGraph { public FireStatsGraph(LineChart lineChart) public void update(Map stats) } package View; public class UIManager { public void initialize() public void handleChooseAFileAction() public void handleApplyButtonAction() public void handleApplyButtonAction(TextField heightTextField, TextField widthTextField, Slider slider, Controller controller, Pane gridPane) public void changeCellShape() public void changeCellShape(ComboBox dropDown, Controller controller, TextField heightTextField, TextField widthTextField, Slider slider, ResourceBundle resourceBundle) public void handleStartButtonAction() public void handleStopButtonAction() public void handleResetButtonAction() public void handleStepButtonAction() public void showXMLError(String s) public void showWarningDialog(ResourceBundle resourceBundle) public void addNewSimulation() public void handleSave(TextField heightTextField, TextField widthTextField, Slider slider, Controller controller) public void handleSave() } package View; public class RPSStatsGraph extends StatsGraph{ public RPSStatsGraph(LineChart lineChart) public void update(Map stats) } package View; public class WatorStatsGraph extends StatsGraph { public WatorStatsGraph(LineChart lineChart) public void update(Map stats) } package View; public class RectCellGridPane extends CellGridPane { public RectCellGridPane(Pane pane, StatsGraph statsGraph) public void create(Map attributes, Simulation initialSimulation) public void initialize(int numRows, int numCols, Simulation simulation) public void render(Map updatedMap) } package View; public class AppLanguageManager { public AppLanguageManager() public static Locale getCurrentLocale() } package View; public class Main extends Application { public void start(Stage primaryStage) throws Exception } package View; public class RectCellGridPaneOld extends CellGridPane{ public RectCellGridPaneOld(GridPane pane, StatsGraph statsGraph) public void create(Map attributes, Simulation initialSimulation) public void initialize(int numRows, int numCols, Simulation simulation) public void render(Map updatedMap) } package View; public abstract class StatsGraph { public StatsGraph(LineChart lineChart) public abstract void update(Map stats); public void clear() } package View; public abstract class CellGridPane { public abstract void create(Map attributes, Simulation initialSimulation); public void render(Map updatedMap, Shape[][] grid) public abstract void render(Map updatedMap); } package View; public class HexCellGridPane extends CellGridPane { public HexCellGridPane(Pane pane, StatsGraph statsGraph) public void create(Map attributes, Simulation initialSimulation) public void initialize(int numRows, int numCols, Simulation simulation) public void render(Map updatedMap) }