                           MazeProg.txt
                   Copyright (C) Lou Siuniak 1995-1996.
                       All Rights Reserved

VERSION NUMBER 2.0D

MazeProg requires EGA or VGA at 640x350.

Running the MazeProg program:

   Make sure all of the files in the package are in
   your current directory.

   To start, just type "mazeprog" at the DOS prompt and press
   enter.

   To quit, select EXIT on the main screen and
   press enter.

Playing the MazeProg program:

MAZEPLAY
   Select PLAY to play a maze.  You will then be prompted to 
   select a maze.  The maze will be drawn and play can begin.
  
   The object of the game is to get from the starting cell in the 
   lower left corner of the maze to the exit cell in the upper 
   right corner of the maze.  When you reach the exit cell a 
   musical scale will play on the PC speaker and a note to "Press
   any key to return to the main screen" will be displayed.
   Press any key to return to the main screen.  You cannot
   move through the walls but must find an unobstructed path 
   through the maze.  I believe only one such path exists for 
   each maze.

   There are three ways to move: use the arrow keys, use number 
   keys or use a joystick.  Pressing an arrow key will move you
   in the direction pointed by the arrow.  To use number keys, 
   press "8" to go up, "2" to go down, "6" to go right and "4" to
   go left.  This is intended to be done from the numeric keypad.
   These numbers correspond to the arrows on each of these numeric
   keys.  Push the joystick forward to go up, to the left to go 
   left, to the right to go right and pull the joystick back to go
   down.  Before the joystick can be used, it must be calibrated.
   Select JOYSTICK from the CONFIGURE menu to calibrate the 
   joystick.  If your joystick moves the path too fast, you can
   select DELAYCOUNT from the CONFIGURE menu to slow down your
   joystick.  DELAYCOUNT increases the response time by 1/100
   second times the number entered into DELAYCOUNT.  For example
   a DELAYCOUNT of 100 causes a 1 second delay.  A DELAYCOUNT of 50
   causes a 1/2 second delay.

   To quit the maze and return to the main screen at any 
   time using any command press "Q" or "q".

MAZESOLV
   If you cannot solve a maze, a command has been provided to solve
   the maze for you (in the registered version only).  Select SOLVE
   to run the maze solving command, select a maze and press any key
   after the maze has been drawn. A delay count has been added to
   the maze solving command to slow it down if you would like to
   watch it solve the maze at a slow speed. See DELAYCOUNT option 
   above. 

   To quit the maze and return to the main screen at any 
   time using any command press "Q" or "q".

MAZEMAKE
   Choose the MAKE command to make a new maze or continue work on a
   previously started maze.  If you wish to make a new maze, choose
   the size of the side of a cell (the smaller the number, the more
   difficult the maze).  Sizes available are from 6 to 32.  A maze
   template will be drawn as appropriate and you can begin to work
   on the new maze.  If you wish to continue work on a partially
   completed maze, choose ALREADY EXISTS.  You will need to select
   the maze on which to work.  The maze will be drawn and you can
   continue to work on it.  The cursor will be at the starting cell.
   To create the maze a path must be created from the starting cell
   (the lower left cell on the maze) to the exit cell (the upper
   right cell on the maze) and "dead-end" paths must be created.  A
   path is created by clearing the lines from the edges of the maze
   cells.  Clearing a line is accomplished by moving the cursor
   across the line in CLEAR mode.  CLEAR mode is set by entering "C"
   or "c" from the keyboard.  CLEAR mode is indicated by a "C" in 
   the upper left corner of the screen.

   Moving to a different cell without clearing the lines is
   accomplished in LEAVE mode.  LEAVE mode is set by entering "L" or
   "l" from the keyboard.  LEAVE mode is indicated by an "L" in the
   upper left corner of the screen.  LEAVE mode is the default mode
   when beginning the program.

   Moving the cursor is the same as when playing a maze, use the
   arrow keys, use number Keys or use a joystick.

   To create a maze start MazeMake as described above, change to CLEAR
   mode, move the cursor from the starting cell to the exit cell to
   create the maze solution, change to LEAVE mode, move the cursor to
   a cell on the solution path, change to CLEAR mode, move the cursor
   to create a "dead-end" path.  Continue creating "dead-end" paths
   until all cells are part of a path.  Use MazeVerf (see below) to
   ensure that all cells are part of a path or use MazeComp (see below)
   to automatically complete a partially completed maze.

   In order to ensure that there is only one solution path, the cursor
   cannot be moved in CLEAR mode into a cell which is already on a path.
   The PC will beep if this is attempted and the cursor will not move.
   Either switch to LEAVE mode to move the cursor without clearing the
   cell line or move the cursor in a different direction into a cell
   which is not already on a path.

   In order to ensure that all cells are part of a path, if CLEAR mode is
   set with the cursor in a cell that is not part of a path, the PC
   speaker will beep and the cursor cannot be moved. Switch to LEAVE mode
   and move the cursor.

   When you have completed your maze, enter "X" or "x" to exit MazeMake.
   A SAVE MAZE screen will then be presented (in the registered version
   only).  Choose the filename for the maze and select OK to save the
   maze.

   Note: The "X" option can be used to periodically save your work.
   After working on the maze, simply enter "X" and save the maze, restart
   MazeMake and use the saved file as the input file.

   To quit the maze and return to the main screen at any 
   time using any command press "Q" or "q".

MAZECOMP
   After you have partially constructed a maze using MazeMake, you
   can have it completed automatically by MazeComp.  MazeComp is a
   command which randomly joins cells not on a path to a path. This
   process continues until all cells are on a path and the maze is
   complete.  Select COMPLETE to run the maze completing command,
   select a partially completed maze and press any key after the
   maze has been drawn.  When the maze is complete a note to "Press
   any key to return to the main screen" will be displayed. A SAVE
   MAZE screen will then be presented (in the registered version
   only).  Choose the filename for the maze and select OK to save
   the maze.

MAZEVERF
   After you feel a maze is complete (if you draw it completely by 
   hand and do not use MazeComp), a command has been provided to
   ensure that it is complete and has no cells not on a valid path.
   Select VERIFY to run the maze verifying command, select a maze
   and press any key after the maze has been drawn.  If there are
   any cells not on a path, the PC speaker will beep and the
   verification process will stop.  Note where the problem cell is
   and press any key.  The verification process will begin again.
   This continues until all cells have been verified and the exit
   cell is reached.  When the exit cell is reached a note to "Press
   any key to return to the main screen" will be displayed. Press
   any key to return to the main screen.

   To quit the maze and return to the main screen at any 
   time using any command press "Q" or "q".

   This information is also available in the on-line help
   screens.

Maze files PARTIAL1.MZE and PARTIAL2.MZE have been provided to
allow you to see how MazeComp and MazeVerf work.  Select MazeComp
or MazeVerf, select PARTIAL1.MZE or PARTIAL2.MZE and press any key
after the maze has been drawn.  To quit at any time, press "Q" or
'q'.  These mazes are necessary because the demonstration version
of MazeProg does not allow new mazes to be saved.

THESE PROGRAMS ARE PROVIDED "AS-IS".  NO WARRANTIES OF ANY KIND,
EXPRESSED OR IMPLIED, ARE MADE IN REGARD TO THE PROGRAMS OR THE 
MEDIA CONTAINING THE PROGRAMS.  THE AUTHOR WILL PROVIDE NO REMEDY
FOR INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES 
ARISING FROM OPERATION OR INSTALLATION OF THE PROGRAMS, INCLUDING
SUCH FROM NEGLIGENCE, STRICT LIABILITY, OR BREACH OF WARRANTY OR
CONTRACT, EVEN AFTER NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
USE THESE PROGRAMS AT YOUR OWN RISK.

This program package is shareware.  Try it, play it and have fun 
with it but if you continue to use it, please register it using
register.frm.

This program package (including executable modules, mazes,
and documentation) may be copied and distributed, either for a 
nominal charge or without charge, provided that all files are 
distributed intact and without modification.
