import java.util.*;

public class Droid
{
    public Droid (Vector<String> values, boolean debug)
    {
        _theComputer = new Intcode(values, debug);
        _debug = debug;
    }

    /*
     * Move around automatically. TBD.
     */

    public void traverse ()
    {

    }

    public void stepTraverse ()
    {
        boolean finished = false;

        while (!finished)
        {
            _theComputer.executeUntilInput();

            LinkedList<String> outputs = _theComputer.getOutputs();
            String theOutput = Util.outputToString(outputs);

            System.out.println(theOutput);
            System.out.println(Commands.getCommands());
            
            finished = true;
        }
    }

    private Intcode _theComputer;
    private boolean _debug;
}
@@ -12,16 +12,34 @@
 .util.*;
+%0Aimport java.io.*;
 %0A%0Apublic
@@ -679,16 +679,17 @@
 nds());%0A
+%0A
         
@@ -696,37 +696,1294 @@
     
-%0A            finished = true;
+String input = %22%22;%0A%0A%09        try%0A            %7B%0A%09%09        InputStreamReader isReader = new InputStreamReader(System.in);%0A%09%09        BufferedReader bufferedReader = new BufferedReader(isReader);%0A%0A%09%09        input = bufferedReader.readLine();%0A%09        %7D%0A            catch (IOException ex)%0A            %7B%0A%09%09        ex.printStackTrace();%0A%09        %7D%0A%0A            int option = Integer.parseInt(input);%0A%0A            switch (option)%0A            %7B%0A                case 1:%0A                %7B%0A                    _theComputer.setInput(Commands.NORTH+%22%5Cn%22);%0A                %7D%0A                break;%0A                case 2:%0A                %7B%0A                    _theComputer.setInput(Commands.SOUTH+%22%5Cn%22);%0A                %7D%0A                break;%0A                case 3:%0A                %7B%0A                    _theComputer.setInput(Commands.EAST+%22%5Cn%22);%0A                %7D%0A                break;%0A                case 4:%0A                %7B%0A                    _theComputer.setInput(Commands.WEST+%22%5Cn%22);%0A                %7D%0A                break;%0A                case 8:%0A                %7B%0A                    finished = true;%0A                %7D%0A                break;%0A                default:%0A                %7B%0A                    System.out.println(%22Unrecognised input: %22+option);%0A                %7D%0A            %7D
 %0A   

Update Droid.java