import java.util.*;

public class VacuumRobot
{
    // instructions

    public static final String LEFT_COMMAND = "L";
    public static final String RIGHT_COMMAND = "R";
    public static final String NEW_LINE = "\n";

    private static final String INITIAL_INPUT = "";
    private static final String OVERRIDE_CODE = "2";

    private static final int OVERRIDE_LOCATION = 0;

    public VacuumRobot (Map map, Vector<String> instructions, boolean debug)
    {
        _theMap = map;
        _computer = new Intcode(instructions, INITIAL_INPUT, debug);
        _debug = debug;

        /*
         * "Force the vacuum robot to wake up by changing the value in your
         * ASCII program at address 0 from 1 to 2."
         * 
         * Check it's 1 before changing? Maybe add a test-and-set/override?
         */

        _computer.changeInstruction(OVERRIDE_LOCATION, OVERRIDE_CODE);
    }

    private Map _theMap;
    private Intcode _computer;
    private boolean _debug;
}
@@ -891,16 +891,530 @@
 %0A    %7D%0A%0A
+    public void setMainMovementRoutine (String sequence)%0A    %7B%0A        _computer.setInput(sequence+%22%5Cn%22);%0A%0A        _computer.executeUntilInput();%0A    %7D%0A%0A    public void setFunctions (String funcA, String funcB, String funcC)%0A    %7B%0A        _computer.setInput(funcA+%22%5Cn%22+funcB+%22%5Cn%22+funcC+%22%5Cn%22);%0A%0A        _computer.executeUntilInput();%0A    %7D%0A%0A    public void setContinuousVideo (boolean video)%0A    %7B%0A        if (video)%0A            _computer.setInput(%22y%5Cn%22);%0A        else%0A            _computer.setInput(%22n%5Cn%22);%0A    %7D%0A%0A
     priv

Update VacuumRobot.java