##
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.