Critter implements the methods: act, getActors, processActors, getMoveLocations,
selectMoveLocation and makeMove. 2. It gets a list of other actors, and then it processes the list of actors, creates a list of possible locations for the next move, selects the location for the next move, then actually moving to that location. 3. Yes, it can be overridden. However, it can only be done if the state of all the actors is unchanged. 4. It can process the elements of the array list actors, it can add new actors to new locations, and it can remove selected actors that are not rocks or critters. 5. getMoveLocations: this method is designed to retrieve a list of locations that an actor can move to during the next move. selectMoveLocation: this method chooses a location that the actor will move to from the list made in getMoveLocations. makeMove: this method moves the actor to the location selected in selectMoveLocation. 6. The critter is a parent class, and as such constructors will only be necessary in its subclasses.