CS 112 - Introduction to Computer Science II
Homework #7


Due: Monday 10/23 at the beginning of class

NOTE: This work is to be done in pairs.  This means that each team will perform one submission with all team names and studentIDs listed in the README file after the honor pledge.  Although team members can divide work, each team member should be able to informally present all work of his/her teammate.

1. Robot Maze Escaper: This exercise is an elaboration of Horstmann Project 13.1.  Starter code and hints will be given in-class rather than online, so as to not undermine academic integrity elsewhere.  In short, you will use Action.java, Direction.java, MazeManager.java, Robot.java, and Sensor.java to implement at least two out of three of the maze-escaping robots Horstmann describes.  Groups correctly implementing all three will get an additional 20% extra credit.  The remote-control "robot" RCRobot.java is supplied to assist in understanding of the starter code. I recommend (but do not require) beginning with the RandomRobot.

This exercise will help you understand concepts of enumerated types (enum), inheritance, and abstract classes.

RightHandRuleRobot clarification:  Your robot should be able to find and follow a wall when initially placed in the middle of a large open area.