XScreenSaver(1)XScreenSaver(1)NAMEmaze - an automated X11 demo repeatedly creating and solv
ing a random mazeSYNOPSISmaze [-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.
OPTIONSmaze 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 ALSOX(1), xscreensaver(1)COPYRIGHT
Copyright 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(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)