Klassen Turtle

class Turtle {

    private double x, y;
    private int dir;
    private boolean draw;
    private GraphicsWindow w;

    public Turtle  (GraphicsWindow window,
                    double startX, double startY) {
        w = window;
        x = startX;
        y = startY;
        dir = 90;
        draw = false;
    }

    public void penUp() {
        draw = false;
    }

    public void penDown() {
        draw = true;
    }

    public void jump(double dx, double dy) {
        x += dx;
        y += dy;
    }

    public void jumpTo(double newX, double newY) {
        x = newX;
        y = newY;
    }

    public void left(int angle) {
        dir += angle;
    }

    public void right(int angle) {
        dir -= angle;
    }

    public void turnNorth() {
        dir = 90;
    }

    public void forward(int nbrOfSteps) {
        double oldX = x;
        double oldY = y;
        x += nbrOfSteps*Math.cos(Math.toRadians(dir));
        y -= nbrOfSteps*Math.sin(Math.toRadians(dir));
        if (draw) {
            w.drawLine(oldX, oldY, x, y, 1, Color.BLACK);
        }
    }

    public double getX() {
        return x;
    }

    public double getY() {
        return y;
    }
}

Klassen Die

class Die {

    private Random rng;
    private int spots;
    private int sides;

    public Die(int nbrOfSides) {
        sides = nbrOfSides;
        rng = new Random();
        roll();
    }

    public void roll() {
        spots = rng.nextInt(sides) + 1;
    }

    public int getNbrOfSpots() {
        return spots;
    }

    public int getNbrOfSides() {
        return sides;
    }
}