mazewalker
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mazewalker [2019/08/29 23:26] – frchris | mazewalker [2022/09/05 12:25] (current) – [MaveWalker Troubleshooting] frchris | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Write an instruction '' | + | Write an instruction '' |
- | {{:: | + | |
- | 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? | + | ====== Before ====== |
+ | {{:: | ||
+ | ====== After ====== | ||
+ | {{:: | ||
- | + | These four different position changes is the cornerstone for the algorithm that directs a robot to escape from a maze simply by following the right wall. 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: | ||
- | |||
- | {{ :: | ||
<code java> | <code java> | ||
Line 17: | Line 15: | ||
{ | { | ||
- | public MazeWalker(int street, int avenue, Direction direction, int beepers) { | + | public MazeWalker(int street, int avenue, |
+ | Direction direction, int beepers) | ||
+ | { | ||
super(street, | super(street, | ||
Line 32: | Line 32: | ||
/** | /** | ||
* This will move the Robot according to the diagram | * This will move the Robot according to the diagram | ||
- | | + | |
*/ | */ | ||
public void followRightWall() | public void followRightWall() | ||
Line 46: | Line 46: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | First use the '' | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | Once the tester shows that the four cases are handled correctly, here is a maze runner class with its own maze: | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | |||
+ | ===== Running your MazeWaker with Student Mazes ===== | ||
+ | |||
+ | Download the text file you find at [[https:// | ||
+ | <code MazeWalkerRunner.java> | ||
+ | import java.awt.Color; | ||
+ | import kareltherobot.*; | ||
+ | public class MazeWalkerRunner implements Directions | ||
+ | { | ||
+ | public static void task() | ||
+ | { | ||
+ | // change the location to where the first beeper is: | ||
+ | MazeWalker mayzie = new MazeWalker(1, | ||
+ | mayzie.pickBeeper(); | ||
+ | mayzie.escapeMaze(); | ||
+ | mayzie.turnOff(); | ||
+ | } | ||
+ | |||
+ | public static void main(String[] args) | ||
+ | { | ||
+ | World.reset(); | ||
+ | World.setDelay(1); | ||
+ | World.setBeeperColor(Color.RED); | ||
+ | // change the name to match the maze world file | ||
+ | World.readWorld(" | ||
+ | World.setVisible(); | ||
+ | task(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== MazeWalker Troubleshooting ===== | ||
+ | Hints: | ||
+ | * Case One check: is the front clear? | ||
+ | * Case 2,3,4 you can move | ||
+ | * Case 2 versus case 3,4: is there a wall on the right? | ||
+ | * In case 3 and 4 you can move to the right. | ||
+ | * Case 3 versus case 4: is there a wall on the right? | ||
+ | ====== Links ====== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ |
mazewalker.1567135606.txt.gz · Last modified: 2019/08/29 23:26 by frchris