public Simulator(int depth, int width)
    {
        if(width <= 0 || depth <= 0) {
            System.out.println("The dimensions must be greater than zero.");
            System.out.println("Using default values.");
            depth = DEFAULT_DEPTH;
            width = DEFAULT_WIDTH;
        }
        
        animals = new ArrayList<Animal>();
        field = new Field(depth, width);
        
        
        // Create a view of the state of each location in the field.
        view = new SimulatorView(depth, width, this);
        
        circlestatview = view.getCircleStats();
        
        view.setColor(Rabbit.class, Color.ORANGE);
        view.setColor(Fox.class, Color.BLUE);
        view.setColor(Bear.class, Color.RED);
        controller = new SimulatorController(view, this, circlestatview);
        controller.buttonEvent();
        // Setup a valid starting point.
        reset();
    }