import java.util.*;

public class Ship
{
    public Ship (boolean debug)
    {
        _facing = Direction.EAST;
        _position = new Coordinate(0, 0);
        _debug = debug;
    }

    public final char getFacing ()
    {
        return _facing;
    }

    public final Coordinate getPosition ()
    {
        return _position;
    }

    public final void move (Vector<Command> commands)
    {
        Enumeration<Command> iter = commands.elements();

        while (iter.hasMoreElements())
        {
            Command c = iter.nextElement();

            if (_debug)
            {
                System.out.println("Ship position: "+_position);
                System.out.println("Ship executing "+c);
            }

            switch (c.action())
            {
                case Action.EAST:
                {
                    _position = new Coordinate(_position.getX() - c.distance(), _position.getY());
                }
                break;
                case Action.WEST:
                {
                    _position = new Coordinate(_position.getX() + c.distance(), _position.getY());
                }
                break;
                case Action.NORTH:
                {
                    _position = new Coordinate(_position.getX(), _position.getY() + c.distance());
                }
                break;
                case Action.SOUTH:
                {
                    _position = new Coordinate(_position.getX(), _position.getY() - c.distance());
                }
                break;
                case Action.LEFT:
                case Action.RIGHT:
                {
                    _facing = Util.getNextFacing(_facing, c.action());
                }
                break;
                case Action.FORWARD:
                {
                }
                break;
                default:
                {
                    System.out.println("Unknown command: "+c);
                }
                break;
            }
        }
    }

    private char _facing;
    private Coordinate _position;
    private boolean _debug;
}
@@ -716,24 +716,215 @@
          %7D%0A%0A
+            // if FORWARD then move in the direction defined by our facing%0A            %0A            if (c.action() == Action.FORWARD)%0A                c = new Command(_facing, c.distance());%0A%0A
             
@@ -1930,104 +1930,8 @@
 ak;%0A
-                case Action.FORWARD:%0A                %7B%0A                %7D%0A                break;%0A
     
@@ -2015,13 +2015,16 @@
 (%22Un
-known
+expected
  com

Update Ship.java