maze



XScreenSaver(1)                                                XScreenSaver(1)




NAME

       maze  -  an automated X11 demo repeatedly creating and solving a random
       maze


SYNOPSIS

       maze [-display host:display.screen]  [-foreground  color]  [-background
       color]  [-window]  [-root] [-install] [-visual visual] [-grid-size pix-
       els]  [-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 graph-
       ical 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 seconds.)

       -post-delay integer
               Delay (in microseconds) after solving a maze and before  gener-
               ating 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  generated. 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 some-
               where. Generator 1 picks a random 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  complete).
               Generator  2  is based on sets. Initially all cells are in dif-
               ferent sets. Then two neighboring cells are chosen and if  they
               are  in  different 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 genera-
               tor 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_MANAGER property.


SEE ALSO

       X(1), xscreensaver(1)


COPYRIGHT

       Copyright © 1988 by Sun Microsystems, Inc. Mountain View, CA.

       All Rights Reserved

       Permission  to  use, copy, modify, and distribute this software and its
       documentation for any purpose and without fee is hereby  granted,  pro-
       vided  that  the  above  copyright notice appear in all copies and that
       both that copyright notice and this permission notice  appear  in  sup-
       porting  documentation, and that the names of Sun or MIT not be used in
       advertising or publicity pertaining to  distribution  of  the  software
       without specific prior written permission. Sun and M.I.T.  make no rep-
       resentations about the suitability of this software for any purpose. It
       is provided "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(s)

       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(1)

Man(1) output converted with man2html