maze
XScreenSaver(r)                                   XScreenSaver(r)



NAME
       maze - an automated X11 demo repeatedly creating and solv-
       ing a random maze

SYNOPSIS
       maze [-display  host:display.screen]  [-foreground  color]
       [-background  color] [-window] [-root] [-install] [-visual
       visual]   [-grid-size    pixels]    [-live-color    color]
       [-dead-color   color]   [-solve-delay  usecs]  [-pre-delay
       usecs]   [-post-delay    usecs]    [-generator    integer]
       [-max-length integer] [-bridge] [-no-bridge]

DESCRIPTION
       The  maze  program creates a "random" maze and then solves
       it with graphical feedback.

OPTIONS
       maze accepts the following options:

       -window Draw on  a  newly-created  window.   This  is  the
               default.

       -root   Draw on the root window.

       -install
               Install a private colormap for the window.

       -visual visual
               Specify which visual to use.  Legal values are the
               name of a visual class, or the id number  (decimal
               or hex) of a specific visual.

       -grid-size pixels
               The  size  of  each  block of the maze, in pixels;
               default is 0, meaning pick a random grid size.

       -live-color color
               The color of the path.

       -dead-color color
               The color of the failed path (it is also  stippled
               with a 50% pattern.)

       -skip-color color
               The  maze solver will choose to not go down a path
               if it can "see" (in a straight line) that it is  a
               dead end.  This is the color to use for paths that
               are skipped for this reason.

       -surround-color color
               If the maze solver  ever  completely  encloses  an
               area  within the maze, then it knows that the exit
               is not in there (and in fact the interior of  that
               area  might  not even be reachable.)  It will mark
               out those cells using this color.

       -solve-delay integer
               Delay (in microseconds) between each step  of  the
               solution  path.   Default  5000,  or about 1/200th
               second.

       -pre-delay integer
               Delay (in microseconds) between generating a  maze
               and starting to solve it.  Default 2000000 (2 sec-
               onds.)

       -post-delay integer
               Delay (in microseconds) after solving a  maze  and
               before  generating  a new one.  Default 4000000 (4
               seconds.)

       -generator num
               Sets the algorithm that will be used  to  generate
               the  mazes.  The  default  is  -1,  which randomly
               selects an algorithm for each maze that is  gener-
               ated.  Generator  0 is the original one, and works
               by walking around randomly until we  hit  a  place
               we've  been before, then backtracking and trying a
               new direction somewhere. Generator 1 picks a  ran-
               dom  spot  in the maze, then draws a straight wall
               from that spot in a random direction until it hits
               another wall (and continues until the maze is com-
               plete). Generator 2 is based  on  sets.  Initially
               all  cells  are in different sets. Then two neigh-
               boring cells are chosen and if they are in differ-
               ent  sets,  their sets are joined. If they were in
               the same set, a wall is built between  them.  This
               continues until the maze is complete.

               All  generators  generate  mazes  with  a  certain
               'characteristic'. See if you can spot them!

       -max-length num
               Controls the maximum length of walls drawn in  one
               go by generator 1.

       -bridge

       -no-bridge
               Controls  whether  or  not  a 'bridge' will appear
               over the logo.

       Clicking the mouse in the maze window controls it.

       LeftButton      Clears the window and restarts maze.

       MiddleButton    Pause or unpause the program.

       RightButton     Exit.

BUGS
       Expose events force a restart of maze.

       Mouse actions are based on "raw" values (Button1,  Button2
       and Button3) instead of using the pointer map.

ENVIRONMENT
       DISPLAY to get the default host and display number.

       XENVIRONMENT
               to  get the name of a resource file that overrides
               the global resources stored in  the  RESOURCE_MAN-
               AGER property.

SEE ALSO
       X(X), xscreensaver(r)

COPYRIGHT
       Copyright  (C)  1988  by  Sun  Microsystems, Inc. Mountain
       View, CA.

       All Rights Reserved

       Permission to use, copy, modify, and distribute this soft-
       ware and its documentation for any purpose and without fee
       is hereby  granted,  provided  that  the  above  copyright
       notice  appear  in all copies and that both that copyright
       notice and this permission  notice  appear  in  supporting
       documentation,  and  that  the  names of Sun or MIT not be
       used in advertising or publicity pertaining  to  distribu-
       tion  of  the software without specific prior written per-
       mission. Sun and M.I.T.  make no representations about the
       suitability  of  this software for any purpose. It is pro-
       vided "as is" without any express or implied warranty.

       SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
       INCLUDING  ALL  IMPLIED  WARRANTIES OF MERCHANTABILITY AND
       FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE
       LIABLE  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
       OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
       OR  PROFITS,  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
       OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN  CONNECTION
       WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

AUTHOR(R)
       Zack Weinberg [ Smarter maze-solver ] zack@rabi.phys.columbia.edu
       Johannes Keukelaar [ Generators 1 and 2 ] johannes@nada.kth.se
         Royal Institute of Technology, Stockholm, Sweden
       Jim Randell    [ XScreenSaver version ] jmr@mddjmr.fc.hp.com
         HPLabs, Bristol
       Richard Hess   [ X11 extensions ]       {...}!uunet!cimshop!rhess
         Consilium, Mountain View, CA
       Dave Lemke     [ X11 version ]          lemke@sun.COM
         Sun MicroSystems, Mountain View, CA
       Martin Weiss   [ SunView version ]
         Sun MicroSystems, Mountain View, CA



X Version 11                 7-mar-93             XScreenSaver(r)