package backend.booleanoperations; public class And extends Command{ public And(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class Equal extends Command{ public Equal(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class GreaterThan extends Command{ public GreaterThan(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class LessThan extends Command{ public LessThan(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class Not extends Command{ public Not(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class NotEqual extends Command{ public NotEqual(Turtle t) public String compute(ArrayList inputs) } package backend.booleanoperations; public class Or extends Command{ public Or(Turtle t) public String compute(ArrayList inputs) } package backend; public abstract class Command { public Command(String type, int inputs) public String getType() public int getNumInputs() public String getString() public boolean checkNoInputs(ArrayList inputs) public boolean checkOneNumberInput(ArrayList inputs) public boolean checkTwoNumberInput(ArrayList inputs) abstract public String compute(ArrayList inputs); } package backend; public class CommandNumber extends Command { public CommandNumber(double val) public String compute(ArrayList inputs) } package backend; public class CommandOperator extends Command { public CommandOperator(String operator) public String compute(ArrayList inputs) } package backend.displaycommands; public class GetPenColor extends Command { public GetPenColor(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class GetShape extends Command { public GetShape(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class SetBackground extends Command { public SetBackground(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class SetPalette extends Command{ public SetPalette(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class SetPenColor extends Command { public SetPenColor(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class SetPenSize extends Command{ public SetPenSize(String type, int inputs) public String compute(ArrayList inputs) } package backend.displaycommands; public class SetShape extends Command { public SetShape(String type, int inputs) public String compute(ArrayList inputs) } package backend; public class Interpreter { public class Tree{ public class Node{ public Interpreter(Playground myPlay, Turtle turtle) public Tree interpretString(String input) public List createCommandList(List list) public Tree createCommandTree(List commandList) public Double parseTree(Node n) public Node(Command tempCommand) public boolean isInGroup(Type type) public String getType(String input) public void setLanguage(String language) } package backend; public class MainParser { } package backend.mathoperations; public class ArcTangent extends Command { public ArcTangent() public String compute(ArrayList inputs) } package backend.mathoperations; public class Cosine extends Command { public Cosine() public String compute(ArrayList inputs) } package backend.mathoperations; public class Difference extends Command { public Difference() public String compute(ArrayList inputs) } package backend.mathoperations; public class Minus extends Command { public Minus() public String compute(ArrayList inputs) } package backend.mathoperations; public class NaturalLog extends Command { public NaturalLog() public String compute(ArrayList inputs) } package backend.mathoperations; public class Pi extends Command { public Pi() public String compute(ArrayList inputs) } package backend.mathoperations; public class Power extends Command { public Power() public String compute(ArrayList inputs) } package backend.mathoperations; public class Product extends Command { public Product() public String compute(ArrayList inputs) } package backend.mathoperations; public class Quotient extends Command { public Quotient() public String compute(ArrayList inputs) } package backend.mathoperations; public class Random extends Command { public Random() public String compute(ArrayList inputs) } package backend.mathoperations; public class Remainder extends Command { public String compute(ArrayList inputs) } package backend.mathoperations; public class Sine extends Command { public Sine() public String compute(ArrayList inputs) } package backend.mathoperations; public class Sum extends Command { public Sum() public String compute(ArrayList inputs) } package backend.mathoperations; public class Tangent extends Command { public Tangent() public String compute(ArrayList inputs) } package backend.multiturtlecommands; public class Ask extends Command { public Ask(String type, int inputs) public String compute(ArrayList inputs) } package backend.multiturtlecommands; public class AskWith extends Command{ public AskWith(String type, int inputs) public String compute(ArrayList inputs) } package backend.multiturtlecommands; public class ID extends Command { public ID(String type, int inputs) public String compute(ArrayList inputs) } package backend.multiturtlecommands; public class Tell extends Command { public Tell(String type, int inputs) public String compute(ArrayList inputs) } package backend.multiturtlecommands; public class Turtles extends Command{ public Turtles(String type, int inputs) public String compute(ArrayList inputs) } package backend.observables; public class ObservableDirection extends Observable { public ObservableDirection(double direction) public void setDirection(double degrees) public double getDirection() } package backend.observables; public class ObservablePen extends Observable { public ObservablePen(boolean penDown) public void setPen(boolean penDown) public boolean getPenStatus() } package backend.observables; public class ObservablePosition extends Observable { public ObservablePosition(double x, double y) public void setPosition(double x, double y) public void setX(double x) public void setX(double x, boolean notify) public void setY(double y) public void setY(double y, boolean notify) public double[] getPosition() public double getX() public double getY() } package backend.observables; public class ObservableVisibility extends Observable { public ObservableVisibility(boolean visible) public void setVisibility(boolean value) public boolean getVisibility() } package backend.othercommands; public class DoTimes extends Command { public DoTimes(String type, int inputs) public String compute(ArrayList inputs) } package backend.othercommands; public class For extends Command{ public For(String type, int inputs) public String compute(ArrayList inputs) } package backend.othercommands; public class If extends Command{ public If(String type, int inputs) public String compute(ArrayList inputs) } package backend.othercommands; public class IfElse extends Command{ public IfElse(String type, int inputs) public String compute(ArrayList inputs) } package backend.othercommands; public class MakeUserInstruction extends Command{ public MakeUserInstruction(String type, int inputs) public String compute(ArrayList inputs) } package backend.othercommands; public class MakeVariable extends Command { public MakeVariable(Turtle t) public String compute(ArrayList inputs) } package backend.othercommands; public class Repeat { } package backend; public class ProgramParser { public ProgramParser () public void addPatterns (String syntax) public String getSymbol (String text) } package backend; public class Turtle { public Turtle(double x, double y, Playground playground) public void observeDirection(DirectionObserver o) public void observePen(PenObserver o) public void observePosition(PositionObserver o) public void observeVisibility(VisibilityObserver o) public void eraseLines() public Point2D getMyPos() public void setMyPos(double x, double y) public double getMyX() public void setMyX(double myX) public double getMyY() public void setMyY(double myY) public boolean isPenDown() public void setPenDown(boolean penDown) public double getDirection() public void setDirection(double direction) public boolean isVisible() public void setVisible(boolean visible) public ObservableDirection getDirObs() public ObservablePen getPenObs() public ObservablePosition getPosObs() public ObservableVisibility getVisObs() } package backend.turtlecommands; public class Backward extends VerticalMove { public Backward(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class ClearScreen extends PositionMove { public ClearScreen(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class Forward extends VerticalMove { public Forward(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class HideTurtle extends Command { public HideTurtle(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class Home extends PositionMove { public Home(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class Left extends SpinMove { public Left(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class PenDown extends Command { public PenDown(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class PenUp extends Command { public PenUp(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public abstract class PositionMove extends Command { public PositionMove() public String setPosition(int x, int y, Turtle t) } package backend.turtlecommands; public class Right extends SpinMove { public Right(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class SetHeading extends SpinMove{ public SetHeading(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class SetPosition extends PositionMove { public SetPosition(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class SetTowards extends SpinMove { public SetTowards(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public class ShowTurtle extends Command { public ShowTurtle(Turtle t) public String compute(ArrayList inputs) } package backend.turtlecommands; public abstract class SpinMove extends Command { public SpinMove() } package backend.turtlecommands; public abstract class VerticalMove extends Command { public VerticalMove() public String computeVerticalMove(Turtle turtle, ArrayList inputs, boolean forward) } package backend.turtlequeries; public class Heading extends Command { public Heading(Turtle t) public String compute(ArrayList inputs) } package backend.turtlequeries; public class IsPenDown extends Command { public IsPenDown(Turtle t) public String compute(ArrayList inputs) } package backend.turtlequeries; public class IsShowing extends Command { public IsShowing(Turtle t) public String compute(ArrayList inputs) } package backend.turtlequeries; public class XCoordinate extends Command { public XCoordinate(Turtle t) public String compute(ArrayList inputs) } package backend.turtlequeries; public class YCoordinate extends Command { public YCoordinate(Turtle t) public String compute(ArrayList inputs) } package frontend.bottom; public class Console { public Console(Display display, Interpreter inter) public void interpretInput(String input) public HBox getConsole() public void setLanguage(String language) public History getHistory() public void clear() public SimpleObjectProperty> getCommandList() } package frontend.bottom; public class History { public History(Console console) public void handle(MouseEvent event) public ListView getHistory() public void addString(String str) public void clear() public void printHistoryToFile() } package frontend.center; public class Pen { public Pen (TurtleLandToLayout converter) public Pen (TurtleLandToLayout converter, double x, double y) public void lineTo(double x, double y) public void moveTo(double x, double y) public List getPathElements() } package frontend.center; public class TurtleLand { public TurtleLand() public Pane getLand() public GraphicsContext getGraphicsContext() public void reset() public TurtleMascot getTurtle() public void changeBackground(Color c) public void changeTurtle(String value) public void changeTurtle(String name, File file) public void setPenColor(Color color) public void printGround() public int getWidth() public int getHeight() } package frontend.center; public class TurtleMascot { public TurtleMascot(int environmentWidth, int environmentHeight, TurtleLandToLayout tlConverter) public void setPosition(double[] pos) public double[] getPosition() public void setX(double x) public double getX() public void setY(double y) public double getY() public double getDirection() public void setDirection(double direction) public void convertToImage(String name, File newImage) public void setImage(Image newImage) public void setVisible(boolean value) public ImageView getImage() public boolean isDrawing() public void setDrawing(boolean penStatus) public HashMap getAnimalMap() public void addAnimal(String key, Image value) public int getWidth() public int getHeight() public Pen getPen() public void setPenColor(Color c) public Color getPenColor() } package frontend.coordinates; public abstract class CoordinateConverter { public CoordinateConverter(int environmentWidth, int environmentHeight) public int getWidth() public int getHeight() public double[] convertPt(int x, int y) public Point2D convertPt(Point2D point) public abstract double convertX(double x); public abstract double convertY(double y); } package frontend.coordinates; public class LayoutToTurtleLand extends CoordinateConverter { public LayoutToTurtleLand (int environmentWidth, int environmentHeight) public double convertX (double x) public double convertY (double y) } package frontend.coordinates; public class TurtleLandToLayout extends CoordinateConverter { public TurtleLandToLayout (int environmentWidth, public double convertX (double x) public double convertY (double y) } package frontend.coordinates; public class TurtleToLayout extends CoordinateConverter { public TurtleToLayout (int environmentWidth, public double convertX (double x) public double convertY (double y) } package frontend; public class Display { public Display(Stage s) public void init(Interpreter inter) public double getWidth() public double getHeight() public Console getConsole() public History getHistory() public ToolBox getTool() public TurtleLand getTurtleLand() } package frontend; public class ErrorException { public ErrorException(String message) public ErrorException(String message, String option1) public ErrorException(Display display, String message, String option1, String option2, String command) } package frontend.left; public class ToolBox { public ToolBox(Display display) public ComboBox addComboBox(SimpleObjectProperty> namelist, String refer) public void addComboBox(SimpleObjectProperty> namelist, String refer, String defaultVal) public void addToolLabel(String refer) public void addButton(String refer) public void addPalette(String refer) public void addButtonEvent(Button button, String function) public void setOnlineHelpEvent() public void handle(MouseEvent e) public void handle(MouseEvent e) public GridPane getTool() public String[] getLanguages() } package frontend.observers; public class DirectionObserver extends TurtleObserver { public DirectionObserver(TurtleMascot turtle, GraphicsContext gcc, int width, int height, ObservableDirection direction) public void update(Observable obs, Object obj) } package frontend.observers; public class PenObserver extends TurtleObserver { public PenObserver(TurtleMascot turtle, GraphicsContext gcc, int width, int height, ObservablePen pen) public void update(Observable obs, Object obj) } package frontend.observers; public class PositionObserver extends TurtleObserver { public PositionObserver(TurtleMascot turtle, GraphicsContext gcc, int width, int height, ObservablePosition position) public void update(Observable obs, Object obj) } package frontend.observers; public abstract class TurtleObserver implements Observer { public TurtleObserver(TurtleMascot turtle, GraphicsContext gcc, int width, int height) } package frontend.observers; public class VisibilityObserver extends TurtleObserver { public VisibilityObserver(TurtleMascot turtle, GraphicsContext gcc, int width, int height, ObservableVisibility visible) public void update(Observable obs, Object obj) } package frontend.right; public class NewCommands { } package frontend.right; public class Variable { public Variable() public VBox getVariable() } package main; public class Playground { public Playground(Stage s) public void init() public void clearScreen() public void interpretInput(String input) } package main; public class SLogoMain extends Application{ public void start(Stage primaryStage) throws Exception }