Listing 1 import kareltherobot.*; // ShapeMaker adds some extra // moves to your basic Robot public abstract class ShapeMaker extends Robot { public ShapeMaker(int street, int avenue, Direction facing, int beepers) { super(street, avenue, facing, beepers); } // To turn right, turn // left three times public void turnRight() { turnLeft(); turnLeft(); turnLeft(); } // To turn around, // turn left twice public void turnAround() { turnLeft(); turnLeft(); } // Move one space forward // and one to the right public void diagonalRight() { move(); turnRight(); move(); turnLeft(); } // Move one space forward // and one to the left public void diagonalLeft() { move(); turnLeft(); move(); turnRight(); } // Every ShapeMaker type robot // must define a makeShape() method public abstract void makeShape(); }