package slogo.Payload; public interface Payload { String toString(); } package slogo.Payload.ViewPayloadManager; public class ChangeLog { public ChangeLog(String name) public ChangeLog(String name, String... parameters) public ChangeLog(String name, int id, String... parameters) public ChangeLog(String name, int id, double... parameters) public ChangeLog(String name, List parameters) public String getName() public int getExternalID() public List getParametersList() } package slogo.Payload.ViewPayloadManager; public class ViewPayload implements Payload, Iterable { public ViewPayload() public void addCommand(ChangeLog changeLog) public Iterator iterator() public boolean hasNext() public ViewCommand next() public String toString() } package slogo.Payload.ViewPayloadManager.ViewCommands; public abstract class ViewCommand { public ViewCommand(List parameters, int externalID) public void setGameScreen(GameScreen gameScreen) protected void checkParameters() public void run() public String getDescription() public List getParameters() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarY extends ViewCommand { public UpdateAvatarY(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateCreateAvatar extends ViewCommand { public UpdateCreateAvatar(List parameters, int externalID) public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarX extends ViewCommand { public UpdateAvatarX(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarVisible extends ViewCommand { public UpdateAvatarVisible(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarIsPenDown extends ViewCommand { public UpdateAvatarIsPenDown(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateReturnValues extends ViewCommand { public UpdateReturnValues(List parameters, int externalID) public void executeSpecificCommand() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class ViewCommandFactory { public ViewCommand createViewCommand(ChangeLog changeLog) } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateHistory extends ViewCommand { public UpdateHistory(List parameters, int externalID) public void executeSpecificCommand() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarPosition extends ViewCommand { public UpdateAvatarPosition(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarRotation extends ViewCommand { public UpdateAvatarRotation(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateClearScreen extends ViewCommand { public UpdateClearScreen(List parameters, int externalID) } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateUserLibrary extends ViewCommand { public UpdateUserLibrary(List parameters, int externalID) } package slogo.Payload.ViewPayloadManager.ViewCommands; public class UpdateAvatarPenColor extends ViewCommand { public UpdateAvatarPenColor(List parameters, int externalID) public void executeSpecificCommand() public String getDescription() } package slogo.Parser; public abstract class TypeChecker { public static TokenType getType(String token) } package slogo.Parser; public class Parser { public Parser() public Parser(CommandManager commandManager) public Node parseInput(String input) throws Exception public Node parseGroup() throws Exception public Node parseCommand() throws Exception public Node parseRepeatedCommand() throws Exception public Node parseConstant() public Node parseVariable() } package slogo.Parser; public class Tokenizer { public Tokenizer(String input) public String separateListDelimiters(String input) public void toNextToken() public String getCurToken() public String peekNextToken() public boolean isEndOfInput() public boolean hasNext() } package slogo.Parser; public class CommandManager { public CommandManager() throws ClassNotFoundException public Command getSimpleDefinedCommand(String alias) throws Exception public boolean isSimpleDefinedCommand(String alias) throws Exception public Command getSystemCommand(String alias) throws Exception public void createUserCommand(UserFunctionTemplate userFunctionTemplate) public Command getUserCommand(String alias) throws Exception public boolean isSystemCommand(String name) public boolean isUserCommand(String name) public boolean isCreateFunctionCommand(String name) public void loadSystemCommands() throws ClassNotFoundException public static void setLanguage(String language) } package slogo.Parser; public class XMLParser { public XMLParser(String filePath) public String getType() public String getName() public String getFunctionClass() public String getNumParameters() public String getParams() public String getReturns() public String getDescription() public String getDocumentation() public String getTag(String tagName) } package slogo.Controller; public class Controller { public Controller() throws ClassNotFoundException public NodeValue runInput(String input) throws Exception public void setViewController(ViewController viewController) } package slogo.Controller; public class ViewController { public ViewController(GameScreen gameScreen) public void runPayload(ViewPayload viewPayload) } package slogo; public class ScreenController { public ScreenController(Stage stage) public void launchGame(Color color, String language) throws ClassNotFoundException public GameScreen getGameScreen() public void setGameScreen(GameScreen screen) } package slogo.Float; public class Precision { public static boolean lessEqual(double a, double b) public static double asDouble(boolean bool) public static int round(double val) public static int floor(double val) public static int ceil(double val) public static boolean asBoolean(double value) } package slogo; public class Main extends Application { public void start (Stage stage) } package slogo.Model.OperationFormat; public class OperationSignatureGenerator { } package slogo.Model.OperationFormat; public class OperationFormatter { public OperationFormatter() public boolean isEncodedKey(String key) public void generateNewSignature() public String encodeString(String parameter, int currentID) public int decodeID(String key) public String decodeParameter(String key) } package slogo.Model; public class ModelTracker implements Model { public ModelTracker() public ModelTracker(String defaultParametersFilename) public void startOp() public ViewPayload endOp(String userInput, List returnValues) throws RuntimeException public void bail() public double getAvatarX() public double getAvatarY() public double getAvatarRotation() public int[] getAvatarPenColor() public boolean getAvatarIsPenDown() public boolean getAvatarVisible() public double getUserVariable(String key) public Map getAllUserVariables() public List getAllHistory() public void setAvatarPosition(double x, double y) throws RuntimeException public void setAvatarRotation(double rotation) throws RuntimeException public void setAvatarPenColor(double red, double green, double blue) throws RuntimeException public void setAvatarPenDown(boolean isPenDown) throws RuntimeException public void setAvatarVisible(boolean visible) throws RuntimeException public void setUserVariable(String key, double value) throws RuntimeException public void resetOrientation() throws RuntimeException public List getActiveAvatars() public void setActiveAvatars(List externalIDs) public int getCurrentAvatarID() public void setCurrentAvatarID(int id) throws RuntimeException public int getTotalNumberOfAvatars() } package slogo.Model.AvatarManager; public class AvatarGroupManager { public AvatarGroupManager(String defaultParametersFilename) public double getAvatarDouble(String avatarKeyCode) public String getAvatarString(String avatarKeyCode) public boolean getAvatarBoolean(String avatarKeyCode) public List getAllExternalIDs() public double getNumericDefault() public List getActiveAvatars() public int getCurrentAvatarID() public int getTotalNumberOfAvatars() public void setAvatarValue(int id, String parameter, String value) public List setActiveAvatars(List externalIDs) public void setCurrentAvatarID(int id) throws RuntimeException } package slogo.Model.AvatarManager; public class Avatar { public Avatar(int externalID, String defaultParametersFilename, public int getExternalID() public double getDouble(String key) public double getNumericDefault() public boolean getBooleanDefault() public String getString(String key) public boolean getBoolean(String key) public void setValue(String key, String value) } package slogo.Model.AvatarManager; public class AvatarInitializerStrategy { } package slogo.Model; public class History { public History() public void addEntry(String userInput) } package slogo.Model; public interface Model { void startOp(); ViewPayload endOp(String userInput, List returnValues); void bail(); double getAvatarX(); double getAvatarY(); double getAvatarRotation(); int[] getAvatarPenColor(); boolean getAvatarIsPenDown(); boolean getAvatarVisible(); double getUserVariable(String key); Map getAllUserVariables(); List getAllHistory(); void setAvatarPosition(double x, double y) throws RuntimeException; void setAvatarRotation(double rotation) throws RuntimeException; void setAvatarPenColor(double red, double green, double blue) throws RuntimeException; void setAvatarPenDown(boolean isPenDown) throws RuntimeException; void setAvatarVisible(boolean visible) throws RuntimeException; void setUserVariable(String key, double value) throws RuntimeException; void resetOrientation() throws RuntimeException; List getActiveAvatars(); void setActiveAvatars(List externalIDs); int getCurrentAvatarID(); void setCurrentAvatarID(int id) throws RuntimeException; int getTotalNumberOfAvatars(); } package slogo.View; public class PopUp { public PopUp(String message) } package slogo.View; public class DrawBoardView { public DrawBoardView() public Pane getContainer() public void clear() public void draw(double v, double v1, double xCor, double yCor) public void setColor(Color newColor) } package slogo.View.Screens; public class GameScreen extends Screen implements ModelView{ public static final String GAMESCREEN_STYLESHEET public GameScreen(Stage stage, String language, Color color) public double getAnimationSpeed() public Scene makeScene(int width, int height) public void updateAvatarIsPenDown(boolean penStatus) public void updateAvatarPenColor(int red, int green, int blue) public void updateAvatarPosXY(double newX, double newY) public void updateAvatarRot(double newRot) public void updateAvatarVisible(boolean state) public void clearScreen() public void updateDisplayedHistory(String userInput) public void displayReturnValues(List returnValues) public void addToUserLibrary(String functionDescription) public CommandBoxView getCommandBoxView() public PenView getAvatar() public void reset() public void pause() public void step() } package slogo.View.Screens; public interface ModelView { void updateAvatarIsPenDown(boolean state); void updateAvatarPenColor(int red, int green, int blue); void updateAvatarPosXY(double x, double y); void updateAvatarRot(double rotation); void updateAvatarVisible(boolean state); void clearScreen(); void updateDisplayedHistory(String userInput); void displayReturnValues(List returnValues); void addToUserLibrary(String functionDescription); } package slogo.View.Screens; public abstract class Screen { public Screen(Stage stage, String language) public abstract Scene makeScene(int width, int height); protected Label makeLabel (String property, ResourceBundle LabelResources) protected List getPanelButtons (String property, ResourceBundle PanelResources) protected HBox makeInputPanel (List actions, Screen screen, ResourceBundle LabelResources, ResourceBundle ReflectionResources) } package slogo.View.Screens; public class SplashScreen extends Screen { public SplashScreen(Stage stage, String language, ObservableList languageOptions, ScreenController screenController) public Scene makeScene(int width, int height) public void nextPage() throws ClassNotFoundException } package slogo.View; public abstract class PenView { public PenView() public void updatePen(boolean penActive) public void updateColor(Color color) public void updatePosXY(double newX, double newY) public void updateRot(double newRot) public double getXCor() public double getYCor() public double getRot() public boolean getPenActive() public Color getColor() public ImageView getImage() protected void setImage(ImageView newImage) public void setCoordinates(double X, double Y) public void changeVisible() } package slogo.View.Containers; public class HistoryView extends ContainerView { public HistoryView() public void displayCommands() public void displayLibrary() public void displayHelp() public Pane getHistoryContainer() public void updateCommandHistory(String userInput) public void updateLibraryHistory(String userInput) } package slogo.View.Containers; public class SliderView extends ContainerView { public SliderView(Animator animations) public void setAnimationSpeed(Animator animations, Double speed) public Pane getSliderContainer() } package slogo.View.Containers; public class CommandBoxView extends ContainerView { public CommandBoxView(Animator animations) public void setController(Controller controller) public Pane getCommandContainer() } package slogo.View.Containers; public abstract class ContainerView { protected Pane getContainer() public void setContainer(Pane cont) } package slogo.View; public class Animator { public Animator(PenView gameAvatar) public void makeTranslation (double endX, double endY) public void runAnimation() public Animation checkBounds(PathTransition pt, double endX, double endY) public Animation makeRotation (Double newRot) public void resetAnimations() public double getAnimationSpeed() public void setAnimationSpeed(double speed) public void pause() public void step() } package slogo.View.Avatars; public class Turtle extends PenView { public Turtle() } package slogo.View.TextBoxes; public class AnimationTextBox { } package slogo.Geometry; public class Vector { public static Vector vectorFromCoord(double x, double y) public static Vector vectorFromRadial(double distance, double rotation) public double getX() public double getY() public double getLength() public double getRotationDeg() public double getRotationRad() public Vector normalized() public Vector subtract(Vector v) public Vector add(Vector v) } package slogo.Geometry; public interface Geometry { public static double getFullRotationDeg(double rotation) { return ((int) (rotation/360)) * 360; public static double getResidualRotationDeg(double rotation) { return rotation - getFullRotationDeg(rotation); } package slogo.Node; public class NodeValue { public NodeValue() public NodeValue(String string) public NodeValue(double numeric) public String getString() public double getNumeric() public void setString(String string) public void setNumeric(double numeric) } package slogo.Node; public abstract class Node { protected List children public void initContext(Model model) protected void checkContext() throws Exception public Node deepClone() throws Exception public Node getChild(int ith) public List getChildren() public boolean getPlural() protected void setPlural(boolean bool) public abstract boolean hasCompatibleNumChildren(); public void addChild(Node node) public abstract NodeValue execute() throws Exception; public static void setLanguage(Document languageDoc) } package slogo.Node.NodeCategories; public class Root extends Node { public NodeValue execute() throws Exception public boolean hasCompatibleNumChildren() public List getReturnValues() } package slogo.Node.NodeCategories; public class Group extends Node { public NodeValue execute() throws Exception public boolean hasCompatibleNumChildren() } package slogo.Node.NodeCategories; public abstract class Command extends Node { public int getNumArguments() protected void setNumArguments(int numArguments) public boolean getSupportsArbitraryNumArgs() protected void setSupportsArbitraryNumArgs(boolean value) public boolean hasCompatibleNumChildren() } package slogo.Node.NodeCategories; public class Constant extends Node { public Constant() public Node deepClone() public Constant(String str) public Constant(double value) public boolean hasCompatibleNumChildren() public NodeValue execute() } package slogo.Node.NodeCategories; public class Variable extends Node { public Node deepClone() public Variable() public Variable(String name) public String getName() public boolean hasCompatibleNumChildren() public NodeValue getValue() throws Exception public NodeValue execute() throws Exception } package slogo.Node.Commands.multiple; public class AskWithCommand extends Command { public AskWithCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.multiple; public class AskCommand extends Command { public AskCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.multiple; public class TellCommand extends Command { public TellCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class XCorCommand extends Command { public XCorCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class YCorCommand extends Command { public YCorCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class HeadingCommand extends Command { public HeadingCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class IdCommand extends Command { public IdCommand() public NodeValue execute() } package slogo.Node.Commands.queries; public class PenColorQueryCommand extends Command { public PenColorQueryCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class ShapeQueryCommand extends Command { public ShapeQueryCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class ShowingQueryCommand extends Command { public ShowingQueryCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class PenDownQueryCommand extends Command { public PenDownQueryCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.queries; public class NumAvatarQueryCommand extends Command { public NumAvatarQueryCommand() public NodeValue execute() } package slogo.Node.Commands.math; public class LogCommand extends Command { public LogCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class ArctanCommand extends Command { public ArctanCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class NegationCommand extends Command { public NegationCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class DifferenceCommand extends Command { public DifferenceCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class AddCommand extends Command { public AddCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class QuotientCommand extends Command { public QuotientCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class RemainderCommand extends Command { public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class ProductCommand extends Command { public ProductCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class PowerCommand extends Command { public PowerCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class SineCommand extends Command { public SineCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class RandomRangeCommand extends Command { public RandomRangeCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class PiCommand extends Command { public PiCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class SquareRootCommand extends Command { public SquareRootCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class TangentCommand extends Command { public TangentCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class CosineCommand extends Command { public CosineCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.math; public class RandomCommand extends Command { public RandomCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class AndCommand extends Command { public AndCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class LessCommand extends Command { public LessCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class OrCommand extends Command { public OrCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class GreaterEqualCommand extends Command { public GreaterEqualCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class GreaterCommand extends Command { public GreaterCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class EqualCommand extends Command { public EqualCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class NotEqualCommand extends Command { public NotEqualCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class LessEqualCommand extends Command { public LessEqualCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.logical; public class NotCommand extends Command { public NotCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class ForwardCommand extends Command { public ForwardCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class GotoCommand extends Command { public GotoCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class BackCommand extends Command { public BackCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class PenUpCommand extends Command { public PenUpCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class HomeCommand extends Command { public HomeCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class TowardsCommand extends Command { public TowardsCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class RotateRightCommand extends Command { public RotateRightCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class SetHeadingCommand extends Command { public SetHeadingCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class PenDownCommand extends Command { public PenDownCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.avatar; public class RotateLeftCommand extends Command { public RotateLeftCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class SetBackgroundCommand extends Command { public SetBackgroundCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class SetPenColorCommand extends Command { public SetPenColorCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class ShowTurtleCommand extends Command { public ShowTurtleCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class ClearScreenCommand extends Command { public ClearScreenCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class SetPenSizeCommand extends Command { public SetPenSizeCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class HideTurtleCommand extends Command { public HideTurtleCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class SetShapeCommand extends Command { public SetShapeCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.display; public class SetPaletteCommand extends Command { public SetPaletteCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class DoTimesCommand extends Command { public DoTimesCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class ForCommand extends Command { public ForCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class SetVariableCommand extends Command { public SetVariableCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class UserFunctionCommand extends Command { public UserFunctionCommand() public UserFunctionCommand(Group arguments, Group body) public boolean hasCompatibleNumChildren() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class IfElseCommand extends Command { public IfElseCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class IfCommand extends Command { public IfCommand() public NodeValue execute() throws Exception } package slogo.Node.Commands.control; public class RepeatCommand extends Command { public RepeatCommand() public NodeValue execute() throws Exception } package slogo.Node; public class UserFunctionTemplate { public UserFunctionTemplate(String name, Group parameters, Group body) throws Exception public String getName() public UserFunctionCommand makeInstance() throws Exception } package slogo.Error; public class ErrorMessage { public ErrorMessage() public String RuntimeError() public String CompileError() }