package visualization; public class PopupError { public PopupError (String language, String errorType) } package visualization; public class Turtle { public Turtle() public final void init() public void setImage(String path) public void setNextX(double newX) public void setNextY(double newY) public double getNextX() public double getNextY() public double[][] getMyLineCoordinates() public double getSize() public void setSize(double newSize) public ImageView getImageView() public void setRotate(double newAngle) public void setPen(boolean newPen) public void setVis(boolean newVis) public void setMyLineCoordinates(double[][] newLineCoordinates) public void addNewLine(double startX, double startY, double endX, double endY) public record TurtlePositionUpdates(double x, double y, double angle, boolean pen, boolean vis) public void setLineColor (Color newColor) public Color getLineColor() } package visualization; public class FileUtility { public FileUtility (Turtle turtle, Pane canvas, Translator translator, Mover mover) public void loadConfig() public void saveConfig() } package visualization; public class Animation { public void start(double timeDelta) public boolean isRunning() public void stop() } package visualization; public class TurtleFileChooser { protected static FileChooser makeChooser() } package visualization; public class Translator { public Translator(double homeX, double homeY, double width, double height,double turtleANG,double imageANG) public XYCoords translateTurtleToImageStart(double turtleX, double turtleY, double turtleImageSize) public XYCoords translateImageStartToImageCenter(XYCoords imageStart, double turtleImageSize) public XYCoords translateTurtleToImageCenter(double turtleX, double turtleY, double turtleImageSize) public XYCoords translateCanvasToTurtle(double canvasX, double canvasY, double turtleImageSize) public XYCoords getTurtleHomeXY() public double translateTurtletoImageOrientation(double TurtleOrientation) public void setTurtleImage(Turtle myTurtle) public void placeTurtleToCenter(Turtle myTurtle) public void setImageViewX(ImageView turtleImage, double newX) public void setImageViewY(ImageView turtleImage, double newY) public void updateImageView() } package visualization; public class SceneController { public SceneController() public void updateLanguage(String newLanguage) public String getLanguage() public void writeUserInput(String newInput) public double executeTurtleCommand(Turtle turtle) public void updateTurtlePosition(Turtle turtle) public ArrayList getOrderedCommandObjects() } package visualization; public class View { public View(SceneController sceneController) } package visualization; public class ViewUtility { public ViewUtility(ResourceBundle resourceBundle) public void setLanguageResource(ResourceBundle newResource) public Node makeText(String property) public Node makeDropdown(String property, ObservableList choices, public Node makeColorPicker(String property, Color defaultColor, public Node makeCanvas(String property) public Node makeVBox(String property, Node... nodes) public Node makeHBox(String property, Node... nodes) public Node makeInputField(String property) public Node makeSlider(String property, EventHandler event) public Node makeScrollPane(String property, Node... nodes) public Node makeWrappedText(String property, double wrappingWidth) } package visualization; public class Mover { public Mover(Translator translator, Turtle turtle, Pane canvas) public record XYCoords(double x, double y) public void animateMove(XYCoords turtleStart,XYCoords turtleEnd, double timeDelta) public void handle(long now) public void updateImageView(double turtleX, double turtleY) public void placeTurtleToCenter() public void setImageViewY(double newY) public void setImageViewX(double newX) public void rotateTurtleImage(double newTurtleOrientation) } public class Main extends Application { public void start(Stage stage) } package commands; public class Commands { } package commands; public class TurtleCommands extends Commands{ public static double Forward(Turtle myTurtle,double distance) public static double Backward(Turtle myTurtle,double distance) public static double Left(Turtle myTurtle, double degrees) public static double Right(Turtle myTurtle, double degrees) public static double SetHeading(Turtle myTurtle, double heading) public static double SetTowards(Turtle myTurtle, double facex, double facey) public static double SetXY(Turtle myTurtle, double x, double y) public static double PenUp(Turtle myTurtle) public static double PenDown(Turtle myTurtle) public static int HideTurtle(Turtle myTurtle) public static int ShowTurtle(Turtle myTurtle) public static double Home(Turtle myTurtle) public static double ClearScreen(Turtle myTurtle, Pane canvas, Mover mover) } package commands; public class VarContUserCommands extends Commands{ public double Make(String variable,double expr) public int DoTimes(int limit, Command[] commands) } package commands; public class TurtleQueries extends Commands{ public static double XCOR(Turtle myTurtle) public static double YCOR(Turtle myTurtle) public static double Heading(Turtle myTurtle) public static boolean PenDown(Turtle myTurtle) public static boolean Showing(Turtle myTurtle) } package commands; public class BooleanOperations extends Commands{ public static double Less(double expr1, double expr2) public static double LessEqual(double expr1, double expr2) public static double Greater(double expr1, double expr2) public static double GreaterEqual(double expr1, double expr2) public static double Equal(double expr1, double expr2) public static double NotEqual(double expr1, double expr2) public static double And(double expr1, double expr2) public static double Or(double expr1, double expr2) public static double Not(double expr1) } package commands; public class MathOperations extends Commands{ public static double Sum(double expr1, double expr2) public static double Difference(double expr1, double expr2) public static double Product(double expr1, double expr2) public static double Quotient(double expr1, double expr2) public static double Minus(double expr) public static double Random(double max) public static double RandomRange(double min, double max) public static double Sine(double degrees) public static double Cosine(double degrees) public static double Tan(double degrees) public static double Arctangent(double degrees) public static double Squareroot(double expr) public static double Log(double expr) public static double Power(double base, double exponent) public static double Pi() } package executer; public class CommandRunner { public static double executeMethod(Command myCommand, Turtle myTurtle) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ClassNotFoundException public static double executeMethod(Command myCommand, Turtle myTurtle) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ClassNotFoundException public static Object executeMethod(Command myCommand, Turtle myTurtle) } package compiler; public class compilerUI extends Application { public void start(Stage primaryStage) } package compiler; public class Command { public Command(String commandName, ArrayList param1,ArrayList> paramTypes,String impClassName) } package compiler; public class TwoBracketPlusExtraParameterCommand extends Command { public TwoBracketPlusExtraParameterCommand(String commandName, ArrayList param1, ArrayList param2, ArrayList param3,String impClassName) } package compiler; public class SpecialCommand extends Command { public ArrayList parameter2 public SpecialCommand(String commandName, ArrayList param1, ArrayList param2, } package compiler; public class CompilerParser { public HashSet methodNames public HashMap commands public HashSet variableNames public ArrayList orderedCommandObjects public CompilerParser(String[] commands, String propertyFile) public void splitInputIntoChunks(String[] commands) public String[] commandNameAndCategory(String rawCommandName) public static String[] splitKeepDelimiter(String input, String delimiter) }