package fire_sim; public class FireRules implements Rules{ public FireRules(List probabilities) public State getNewState(State cellState, State cellNextState, List neighborStates, Queue unoccupied, public void updateThresholds(List newThresholds) public List getSimulationTypes() public State getNewState(int id) public List getSimulationStateValues() } package fire_sim; public class FireState extends State{ public FireState() public FireState(int initialState) public void setColorSpecific(int initialState) public void changeColor(Cell cell) public State getDefaultState() } package game_of_life_sim; public class GameOfLifeRules implements Rules { public GameOfLifeRules(List thresholds) public State getNewState(State cellState, State cellNextState, List neighborStates, Queue firstUnoccupied, public void updateThresholds(List newThresholds) public List getSimulationTypes() public State getNewState(int id) public List getSimulationStateValues() } package game_of_life_sim; public class GameOfLifeState extends State{ public GameOfLifeState() public GameOfLifeState(int initialState) public void setColorSpecific(int initialState) public void changeColor(Cell cell) public State getDefaultState() } package loader; public class FireLoader extends Loader { public FireLoader(Stage primaryStage, String gameName, String filepath,String language, List userGridChoices) throws Exception public void initializeRules() } package loader; public class GameOfLifeLoader extends Loader { public GameOfLifeLoader(Stage primaryStage, String gameName, String filepath,String language,List userGridChoices) throws Exception public List defaultRules() } package loader; public class Loader { public Loader(Stage primaryStage, String gameName, String filepath,String language, List userGridChoices) throws Exception public String[] getInfo() public void initializeGrid(Grid grid, CellShape shape) public List getThresholds() public String getLanguage() } package loader; * Creates new XML file in Resources package public class OutputXML { public OutputXML(String[] info_data, double[][] gridconfig) public OutputXML(String[] info_data, double[][] gridconfig, String fileName) public void writeXML(String[] info_data, double[][] gridconfig, String fileName) public void addElementString(Document doc, Element root, String tag, String data) public void addElementList(Document doc, Element root, String upperTag, String lowerTag, double[][] grid) public Transformer getTransformer() public String doubleArrayToString(double[] array) public void transformXML(Transformer transformer, DOMSource source, StreamResult result) public DocumentBuilder getDocumentBuilder() } package loader; public class PredatorPreyLoader extends Loader { public PredatorPreyLoader(Stage primaryStage, String gameName, String filepath,String language, List userGridChoices) throws Exception public void initializeRules() public List defaultRules() } package loader; public class RockPaperScissorsLoader extends Loader { public RockPaperScissorsLoader(Stage primaryStage, String gameName, String filepath,String language, List userGridChoices) throws Exception public void initializeRules() public List defaultRules() } package loader; public class SegregationLoader extends Loader { public SegregationLoader(Stage primaryStage, String gameName, String filepath,String language, List userGridChoices) throws Exception public void initializeRules() public List defaultRules() } package loader; public class XMLException extends Exception { public XMLException(String message) public XMLException (Throwable cause) public XMLException(Throwable cause, String message) } package loader; public class XMLParser { public XMLParser(String filepath) throws Exception public String getGameName() public String getAuthor() public String getTitle() public List getThresholds() public String getDirections() public int getGridWidth() public int getGridHeight() public int[][] getGridConfig() } package Main; public class Cell { public Cell(int xcoord, int ycoord, State initialState, CellShape initialShape) public int[] getLocation() public int getMyXCoord() public int getMyYCoord() public CellShape getMyShape() public void setMyShape(CellShape myShape) public Paint getColor() public State getMyCurrentState() public int getMyCurrentStateValue() public State getMyNextState() public void setMyNextState(State myNextState) public void setMyCurrentState(State myCurrentState) public void changeStateClicked() } package Main; public abstract class CellShape { public List getNeighborCoordinates(String neighborsWanted) public abstract void updateVisualLocation(int xCoord, int yCoord, double size, StackPane view); public abstract List getCornerCoordinates(); public abstract List getKnightCoordinates(); public abstract List getAllCoordinates(); public abstract List getCardinalCoordinates(); public Shape getVisual() public void setVisual(Shape newShape) public void setColor(Paint color) public void setOffset(double offset) public double getOffset() public abstract CellShape getCopy(); } package Main; * is included in this Class, created because it allows the two coordinates to be packaged together when passing between public class Coordinate { public Coordinate(int yCoord, int xCoord) public int getX() public int getY() } package Main; public class Grid { public Grid(int width, int height, Rules rules, String config) public void populateCellGrid(int[][] id, CellShape shape) public boolean inBounds(int xCoord, int yCoord) public void iterateGrid() public void updateRules(List newThresholds) public double[][] getGridConfig() public List getDifferentStateCounts() public List getSimulationTypes() public Paint[] getColors() public Cell[][] getCellGrid() public CellShape getCellShape() } package Main; public class HexagonCellShape extends CellShape{ public HexagonCellShape() public List getCornerCoordinates() public List getKnightCoordinates() public List getAllCoordinates() public List getCardinalCoordinates() public void updateVisualLocation(int x, int y, double hexOffSet, StackPane view) public CellShape getCopy() } package Main; public class Launch extends Application { public void start(Stage primaryStage) throws Exception } package Main; public class RectangleCellShape extends CellShape { public RectangleCellShape() public List getCornerCoordinates() public List getKnightCoordinates() public List getAllCoordinates() public List getCardinalCoordinates() public void updateVisualLocation(int x, int y, double cellWidth,StackPane view) public CellShape getCopy() } package Main; public interface Rules { public abstract State getNewState(State cellState, State nextState, List neighborStates, Queue unoccupied, public abstract void updateThresholds(List newThresholds); public abstract List getSimulationTypes(); public abstract List getSimulationStateValues(); public abstract State getNewState(int id); } package Main; public abstract class State { public State(int initialState) public State() public abstract void changeColor(Cell cell); public abstract void setColorSpecific(int initialState); public int getID() public Paint getColor() public void setColor(Paint newColor) public void setID(int id) public abstract State getDefaultState(); } package Main; public class ToroidalGrid extends Grid { public ToroidalGrid(int width, int height, Rules rules, String neighborConfig) } package Main; public class TriangleCellShape extends CellShape{ public TriangleCellShape() public List getCornerCoordinates() public List getKnightCoordinates() public List getAllCoordinates() public List getCardinalCoordinates() public void updateVisualLocation(int x, int y, double cellWidth, StackPane view) public CellShape getCopy() } package predator_prey_sim; public class PredatorPreyRules implements Rules { public PredatorPreyRules(List thresholds) public State getNewState(State cellStateNotCast, State nextState, List neighborStates, Queue unoccupied, public void updateDays(PredatorPreyState cellState) public void updateThresholds(List newThresholds) public List getSimulationTypes() public State getNewState(int id) public List getSimulationStateValues() } package predator_prey_sim; public class PredatorPreyState extends State{ public PredatorPreyState() public PredatorPreyState(int initialID) public PredatorPreyState(int initialID, int breedDays, int starveDays) public PredatorPreyState(int initialID, int breedDays, int starveDays, List next) public PredatorPreyState(int initialID, int breedDays, int starveDays, List next, List justAte) public void setColorSpecific(int initialState) public List getNext() public void setNext(List next) public int getBreedDays() public int getStarveDays() public void setDays(int breedDays, int starveDays) public void updateDays() public List getJustAte() public void setJustAte(List newJustAte) public void changeColor(Cell cell) public State getDefaultState() } package rock_paper_scissors_sim; public class RockPaperScissorsRules implements Rules { public RockPaperScissorsRules(List thresholds) public State getNewState(State cellStateUncast, State nextState, List neighborStates, Queue unoccupied, public boolean isOtherColor(Cell cell) public int randomNeighborIndex(List neighborCells) public boolean thisStateWins(State thisState, State otherState) public void winCondition(RockPaperScissorsState winner, RockPaperScissorsState loser) public List getSimulationTypes() public void updateThresholds(List newThresholds) public State getNewState(int id) public List getSimulationStateValues() } package rock_paper_scissors_sim; public class RockPaperScissorsState extends State { public RockPaperScissorsState(int initialState) public RockPaperScissorsState(int initialState, int initialLevel) public void setLevel(int newLevel) public int getLevelValue() public boolean checkLevel(int maxlevel) public int levelPlusOne() public void addLevel() public void subtractLevel() public void changeColor(Cell cell) public void setColorSpecific(int initialState) public State getDefaultState() } package segregation_sim; public class SegregationRules implements Rules{ public SegregationRules(List percentages) public State getNewState(State cellState, State cellNextState,List neighborStates, Queue unoccupied, public void updateThresholds(List newThresholds) public List getSimulationTypes() public State getNewState(int id) public List getSimulationStateValues() } package segregation_sim; public class SegregationState extends State{ public SegregationState() public SegregationState(int initialState) public void setColorSpecific(int initialState) public void changeColor(Cell cell) public State getDefaultState() } package view; public class BottomPanel { public BottomPanel(String simulationName, ResourceBundle resources) public void setupBox() public UserControlPanel setupCP(List myThresholds) public Slider getSlider() public VBox getBottomBox() } package view; public class ErrorView { public ErrorView(Stage stage,String lang, String errorMessage) } package view; public class GridController { public GridController(Grid inputGrid,Stage theStage,Loader loader, String name, GridView view) } package view; public class GridTypeQuestionView extends QuestionView{ public GridTypeQuestionView(Stage stage,Button button, List List,String language) public void setupVBox() } package view; public class GridView { public static final int ACTUAL_SCENE_WIDTH = (int) (SCENE_WIDTH*1.9); public static final int SCENE_HEIGHT = (int) (SCENE_WIDTH*1.6); public GridView(Stage stage, String simulationName,int size,ResourceBundle resources) public void initializeChart(List stateCount, List stateNames) public void updateChart(List stateCount,int stepNum) public void clearChart() public Shape updateCellsGrid(Cell cell) public Group getSimCells() public BottomPanel getBottomPanel() } package view; public class NeighborsQuestionView extends QuestionView{ public NeighborsQuestionView(Stage stage,Button myButton, List List,String language) public void setupVBox() } package view; public abstract class QuestionView { public QuestionView(Stage stage,Button button,String language) public abstract void setupVBox(); } package view; public class RandomQuestionView extends QuestionView { public RandomQuestionView(Stage stage,Button button,String language) public void setupVBox() } package view; public class ShapeQuestionView extends QuestionView { public ShapeQuestionView(Stage stage,Button myButton, List List,String language) public void setupVBox() } package view; public class UserControlPanel { public UserControlPanel(List thresholds, double[] max, double[] min, public Slider createSlider(int ruleIndex) public VBox createVBox() public List getCurrentValues() } package view; public class UserInputView{ public UserInputView(Stage stage, String language) }