XScreenSaver(1) XScreenSaver(1) NNAAMMEE maze - an automated X11 demo repeatedly creating and solv- ing a random maze SSYYNNOOPPSSIISS mmaazzee [-display _h_o_s_t_:_d_i_s_p_l_a_y_._s_c_r_e_e_n] [-foreground _c_o_l_o_r] [-background _c_o_l_o_r] [-window] [-root] [-install] [-visual _v_i_s_u_a_l] [-grid-size _p_i_x_e_l_s] [-live-color _c_o_l_o_r] [-dead-color _c_o_l_o_r] [-solve-delay _u_s_e_c_s] [-pre-delay _u_s_e_c_s] [-post-delay _u_s_e_c_s] [-generator _i_n_t_e_g_e_r] [-max-length _i_n_t_e_g_e_r] [-bridge] [-no-bridge] DDEESSCCRRIIPPTTIIOONN The _m_a_z_e program creates a "random" maze and then solves it with graphical feedback. OOPPTTIIOONNSS _m_a_z_e accepts the following options: --wwiinnddooww Draw on a newly-created window. This is the default. --rroooott Draw on the root window. --iinnssttaallll Install a private colormap for the window. --vviissuuaall _v_i_s_u_a_l 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. --ggrriidd--ssiizzee _p_i_x_e_l_s The size of each block of the maze, in pixels; default is 0, meaning pick a random grid size. --lliivvee--ccoolloorr _c_o_l_o_r The color of the path. --ddeeaadd--ccoolloorr _c_o_l_o_r The color of the failed path (it is also stippled with a 50% pattern.) --sskkiipp--ccoolloorr _c_o_l_o_r 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. --ssuurrrroouunndd--ccoolloorr _c_o_l_o_r 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 X Version 11 7-mar-93 1 XScreenSaver(1) XScreenSaver(1) out those cells using this color. --ssoollvvee--ddeellaayy _i_n_t_e_g_e_r Delay (in microseconds) between each step of the solution path. Default 5000, or about 1/200th second. --pprree--ddeellaayy _i_n_t_e_g_e_r Delay (in microseconds) between generating a maze and starting to solve it. Default 2000000 (2 sec- onds.) --ppoosstt--ddeellaayy _i_n_t_e_g_e_r Delay (in microseconds) after solving a maze and before generating a new one. Default 4000000 (4 seconds.) --ggeenneerraattoorr _n_u_m 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! --mmaaxx--lleennggtthh _n_u_m Controls the maximum length of walls drawn in one go by generator 1. --bbrriiddggee --nnoo--bbrriiddggee Controls whether or not a 'bridge' will appear over the logo. Clicking the mouse in the maze window controls it. LLeeffttBBuuttttoonn Clears the window and restarts maze. MMiiddddlleeBBuuttttoonn Pause or unpause the program. X Version 11 7-mar-93 2 XScreenSaver(1) XScreenSaver(1) RRiigghhttBBuuttttoonn Exit. BBUUGGSS Expose events force a restart of maze. Mouse actions are based on "raw" values (Button1, Button2 and Button3) instead of using the pointer map. EENNVVIIRROONNMMEENNTT DDIISSPPLLAAYY to get the default host and display number. XXEENNVVIIRROONNMMEENNTT to get the name of a resource file that overrides the global resources stored in the RESOURCE_MAN- AGER property. SSEEEE AALLSSOO XX(1), xxssccrreeeennssaavveerr(1) CCOOPPYYRRIIGGHHTT 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. AAUUTTHHOORR((ss)) 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 X Version 11 7-mar-93 3 XScreenSaver(1) XScreenSaver(1) 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 4