Robot Maze

This program simulates a robot getting through a maze. Unlike tic-tac-toe, where the user is the player, the robot moves autonomously through the maze. We intentionally share the memory location of the maze with the robot. Otherwise the robot would not know how to plan and make its moves.The maze is stored in a text file that will be entered at runtime. The layout of each maze file will contain: In the first line: two integers (the number of rows and columns, respectively, in the maze) In the second line: two integers (the row and column locations, respectively, of the Start cell In the third line: two integers (the row and column locations, respectively, of the Exit cell Each line thereafter will contain characters appearing in one row of the maze.

Maze stores the maze used for robot navigation built on top of Eddy's UW-Parkside solution
The LookAheadRobot inherits from the FacingRobot class and this robot needs to move recursively in a similar fashion as the RightHandRobot.
A Right Hand robot- A RightHandRobot has both a location and a direction which it is facing. A RightHandRobot’s goal is to search for the exit while always trying to move right, if possible. If it cannot move right, it will try to move straight ahead. If it cannot move straight, it will try to move left. As a last resort, it will back up. For example, a RightHandRobot that is facing south, will first try to move west. If it cannot move west, it will then try to move south (straight). If it cannot move straight, it will try to move left (east).
A Random robot-A Random Robot’s goal is to search for the exit while always taking a random move. It moves just one cell at a time. It will move to a randomly selected open cell next to its current location. If it cannot move east, it will then go back north. Once the robot moves a certain direction, it then is facing in that direction. So – this kind of robot always needs to know the direction it is currently facing before it can decide which move to try first.
Powered by