make_a_maze
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
make_a_maze [2019/08/17 11:25] – frchris | make_a_maze [2021/09/05 13:16] (current) – [Make Maze Algorithm] frchris | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Make a Maze ====== | ||
+ | Make a Maze with 4 to 6 walls and one beeper. | ||
+ | |||
+ | You can post your .java file in GoogleClassroom. | ||
+ | |||
+ | Make your plan and exchange it with another student. | ||
+ | |||
Walls or obstacles are pared of the World class and can be placed in a NS or a EW direction, and have length. | Walls or obstacles are pared of the World class and can be placed in a NS or a EW direction, and have length. | ||
World.setSize(int numberOfStreets, | World.setSize(int numberOfStreets, | ||
+ | |||
+ | It is actually easier to see the available methods and their parameters in the [[http:// | ||
====== 3 Ways to Make Walls ====== | ====== 3 Ways to Make Walls ====== | ||
- World.placeNSWall(), | - World.placeNSWall(), | ||
- | public class Walls implements Directions { | + | public class MyMaze |
- | public static void task() { | + | public static void task() { |
- | Robot karel = new Robot(1, | + | Robot robby = new Robot(1, |
- | karel.move(); | + | // Place the code to run the maze here |
- | karel.move(); | + | robby.turnOff(); |
- | karel.pickBeeper(); | + | |
- | karel.move(); | + | |
- | karel.turnLeft(); | + | |
- | karel.move(); | + | |
- | karel.move(); | + | |
- | karel.putBeeper(); | + | |
- | karel.move(); | + | |
- | karel.turnOff(); | + | |
- | } | + | |
- | // Main entry point | + | // Main entry point |
- | public static void main(String[] args) { | + | public static void main(String[] args) { |
- | World.setDelay(150); | + | World.setDelay(150); |
- | World.setSize(8, | + | World.setSize(8, |
- | //World.readWorld(" | + | //Plce beeps at the begining and the end |
- | World.placeBeepers(1, | + | |
- | World.placeEWWall(3, 1, 3); | + | World.placeBeepers(1, |
- | World.placeNSWall(1, | + | // |
- | World.placeEWWall(6, | + | |
- | World.setVisible(); | + | World.placeNSWall(1, |
- | task(); | + | |
- | } | + | World.placeNSWall(2, |
+ | World.placeNSWall(1, | ||
+ | World.placeEWWall(2, | ||
+ | World.placeNSWall(1, | ||
+ | | ||
+ | World.setVisible(); | ||
+ | task(); | ||
+ | } | ||
}</ | }</ | ||
- | - You can make a long string and send it all at once to the World:< | + | - You can make a long string and send it all at once to the World. |
- | String hurdles = " | + | String hurdles = " |
- | " | + | " |
- | "northsouthwalls 8 1 1\n" + | + | "eastwestwalls 3 1 3\n" + |
- | " | + | " |
- | "northsouthwalls 2 1 1\n" + | + | "eastwestwalls 6 1 6\n" + |
- | "northsouthwalls 1 1 1"; | + | "beepers |
World.getWorld(hurdles); | World.getWorld(hurdles); | ||
World.setVisible(); | World.setVisible(); | ||
task(); | task(); | ||
}</ | }</ | ||
+ | - You can place a text file with string commands like this: < | ||
+ | streets 8 | ||
+ | avenues 9 | ||
+ | beepers 1 4 1 | ||
+ | eastwestwalls 3 1 3 | ||
+ | northsouthwalls 1 6 5 | ||
+ | eastwestwalls 6 1 6</ | ||
+ | |||
+ | You can post world text file so others can run your maze with karel naming it (YourFirstName or Initials)Maze.txt - replacing (YourFirstName or initials) of course. | ||
+ | |||
+ | Note: Make sure your Maze has a solution, no islands, and that all locations are reachable. | ||
+ | |||
+ | ===== Make Maze Algorithm ===== | ||
+ | Try making this one, that was made by the java application [[https:// | ||
+ | {{:: | ||
+ | |||
+ | [[Try Running these Student Made Mazes]] |
make_a_maze.1566055508.txt.gz · Last modified: 2019/08/17 11:25 by frchris