becker.robots
Class MazeCity

java.lang.Object
  extended by becker.robots.City
      extended by 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.
 
Method Summary
 
Methods inherited from class becker.robots.City
customizeIntersection, examineLights, examineRobots, examineThings, examineThings, getIntersection, getThingCountPredicate, isShowingThingCounts, keyTyped, makeIntersection, save, setFrameTitle, setSize, setThingCountPredicate, showFrame, showThingCounts, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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.