becker.robots
Class MazeCity
java.lang.Object
becker.robots.City
becker.robots.MazeCity
public class MazeCity
- extends City
A MazeCity contains walls in the form of a perfect maze. Every intersection
is connected to every other intersection and there are no cycles. The
classic "keep your right hand on the wall" algorithm will visit every
intersection.
The maze has no exit. Instead, place a Thing
to mark the
destination.
- Author:
- Byron Weber Becker
Constructor Summary |
MazeCity(int numStreets,
int numAvenues)
Construct a maze of the given size with moderate branching and twistiness. |
MazeCity(int numStreets,
int numAvenues,
double twisty,
double branchy)
Create a city with walls that form a maze. |
Methods inherited from class becker.robots.City |
customizeIntersection, examineLights, examineRobots, examineThings, examineThings, getIntersection, getThingCountPredicate, isShowingThingCounts, keyTyped, makeIntersection, save, setFrameTitle, setSize, setThingCountPredicate, showFrame, showThingCounts, toString |
MazeCity
public MazeCity(int numStreets,
int numAvenues,
double twisty,
double branchy)
- Create a city with walls that form a maze. The upper left corner of the
city is always at (0,0).
- Parameters:
numStreets
- The number of streets in the city. Must be at least 2.numAvenues
- The number of avenues in the city. Must be at least 2.twisty
- How twisty the passages should be. A value of 0.0 makes
the passages as straight as possible. A value of 1.0 makes them
as twisty as possible.branchy
- How branchy should the passages be? A value of 0.0
makes passages with few branches; a value of 1.0 makes passages
with more branches.
MazeCity
public MazeCity(int numStreets,
int numAvenues)
- Construct a maze of the given size with moderate branching and twistiness.
- Parameters:
numStreets
- The number of streets in the city. Must be at least 2.numAvenues
- The number of avenues in the city. Must be at least 2.