User Tools

Site Tools


This is an old revision of the document!

Write an instruction followWallRight for the MazeWalker class, assuming that whenever a robot executes this instruction there is a wall directly to the right.



Here are four of the different position changes that the robot must be able to make. This instruction is the cornerstone for the program that directs a robot to escape from a maze. It isn't the most efficient algorithm, and it won't work on mazes that have islands (Can you imagine why?). Do you think following the left walls would be better?

Once the tester shows that the four cases are handled correctly, here is a maze runner class with its own maze:

import kareltherobot.*;
public class MazeWalker extends Robot
	public MazeWalker(int street, int avenue, Direction direction, int beepers) {
		super(street, avenue, direction, beepers);
     * This is an algorithm to run a maze. It isn't the fastest method,
     * and won't work if the maze has any islands (Can you imagine why?)
     * Would it be better to follow the leftWalls?
	public void escapeMaze() {
		while (! nextToABeeper() )
     * This will move the Robot according to the diagram
     * mentioned.
	public void followRightWall() 
	public void turnRight() {
		for (int i=0; i<3; i++)
mazewalker.1567136451.txt.gz · Last modified: 2019/08/29 23:40 by frchris