import java.util.*;

public class Tunnel
{
    public static final String TUNNEL_DATA = "tunnel.txt";

    public static final void main (String[] args)
    {
        String dataFile = TUNNEL_DATA;
        boolean debug = false;
        boolean verify = false;

        for (int i = 0; i < args.length; i++)
        {
            if ("-help".equals(args[i]))
            {
                System.out.println("Usage: [-data <file>] [-verify] [-debug] [-help]");
                System.exit(0);
            }
            
            if ("-data".equals(args[i]))
                dataFile = args[i+1];

            if ("-debug".equals(args[i]))
                debug = true;

            if ("-verify".equals(args[i]))
                verify = true;
        }

        if (verify)
        {
            Verifier theVerifier = new Verifier(debug);

            if (theVerifier.verify())
                System.out.println("Verified ok.");
            else
                System.out.println("Verify failed.");
        }
        else
        {
            Vector<String> input = Util.readMap(TUNNEL_DATA);
            Map theMap = new Map(input, debug);

            System.out.println(theMap);
        }
    }
}
@@ -1183,16 +1183,399 @@
 heMap);%0A
+    %0A            Explorer exp = new Explorer(theMap, _debug);%0A    %0A            System.out.println(%22Number of keys and doors: %22+theMap.numberOfKeys()+%22, %22+theMap.numberOfDoors());%0A    %0A            System.out.println(%22%5CnTraversing map ...%22);%0A            %0A            int steps = exp.findAllKeys();%0A%0A            System.out.println(%22Verified. Number of steps to find all keys: %22+steps);%0A
         

Update Tunnel.java