CSCI2010L Programming II - Lab 9
Finch Robot
Design and implement an appropriate set of classes to meet the following requirements. The classes
you implement should be well named, cohesive, minimize dependencies, and separate accessors and
mutators. The side effects of your methods should be minimized.
Write a Java program that enables a Finch robot to successfully complete a maze This maze will be
provided by the instructor, and can vary in configuration from time to time. This means that you will
need to solve the maze navigation problem generally and not just code 1 solution to 1 maze
configuration. Your program should minimize its backtracking and should be able to successfully reach
the end of the maze given only that it is positioned generally in the correct direction at the beginning of
the maze. Then maze will have 2 or 3 turns, and will vary in width. There will be no dead-end paths in
this maze.
The structure of this program should be determined by you, but must include a Main class and at least 1
other class. Remember to provide Javadoc comments for all classes, methods, parameters, and return
values.
There will be a zip file posted on the Canvas Assignment page for Lab 9 that you will need to interface
with the robot. There is a version of this file specific to Windows PC's and Mac's. Use the version that is
compatible with your laptop OS. The javadocs contained in this zip file contain documentation on all
Finch methods. The code files include many examples of working Finch code.