mazewalker
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
mazewalker [2019/08/29 23:25] – frchris | mazewalker [2021/09/01 16:18] – 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 ====== |
- | {{ ::mazewalker.java |MazeWalker.java}} | + | {{::turnrightbefore.png|}} |
- | + | ====== After ====== | |
- | {{ ::mazewalkertester.java |MazeWalkerTester.java}} | + | {{::turnrightafter.png|}} |
- | Once the tester shows that the four cases are handled correctly, here is a maze runner class with its own maze: | + | These four different position changes |
- | {{ :: | ||
<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, | ||
} | } | ||
/** | /** | ||
- | * This algorithm to run a maze. It isn't the fastest method, | + | * 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?) | * and won't work if the maze has any islands (Can you imagine why?) | ||
* Would it be better to follow the leftWalls? | * Would it be better to follow the leftWalls? | ||
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: | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | 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:// | ||
+ |
mazewalker.txt · Last modified: 2022/09/05 12:25 by frchris