$VER: Slider.doc 1.07 (02.04.95)

SLIDER - version 1.07
02-April-95

Copyright 1995 Joseph Carlson, All Rights Reserved

   This software IS freely redistributable as long as no files in the archive
are modified or deleted.  This program is SHAREWARE (sort of), if you use it
and like it, you MUST send me email saying so.  That's all, that's it... No
money, just gratitude.  Send email to internet: j.carlson10@genie.com or from
GEnie: J.CARLSON10



== SYSTEM REQUIREMENTS ========================================================

   Requires Kickstart 2.0 or higher.

   Any Amiga from A500 to A4000.
       If your machine has WB3.0+, the program asks the system for the
         video mode that most closely matches 640x480 64 colors (VGA
         Productivity).  This results multiscan if available, or Euro72,
         DblPAL, PAL hires-lace, etc...  On ECS machines, this may even use
         your graphics card if available to Intuition.
       With WB2.x, or if 64 color hires mode is not available, a 16 color
         hires-lace screen is opened in the default mode that the computer
         was booted in (NTSC or PAL).

   For full speed and visual effect, I recommend use on AGA machines.



== PROGRAM DESCRIPTION ========================================================

   Slider is a puzzle similar to those little number slide puzzles we have all
played with at one time or another.  This version features a nice high res
marble background with embossed wood pieces.  The size of the puzzle is
adjustable in width and height from 2x2 to 8x8.  It is AGA & ECS compatible.

The object is to move the pieces as quickly as possible until they are in
numerical order.  You move pieces by pointing to the piece you want to
move, and pressing the left mouse button.


THIS ARCHIVE INCLUDES:

   README                     - BBS description file
   Slider.info                - The drawer icon.

   Slider/Slider.doc          - This text and its icon.
   Slider/Slider.doc.info

   Slider/Slider              - The game and its icon
   Slider/Slider.info

   Slider/Slider_AGA.iff      - AGA graphics data
   Slider/Slider_ECS.iff      - ECS graphics data
   Slider/Slider.snd          - sound effects



== INSTALLATION ===============================================================

   This archive decompresses into its own drawer.  Just copy or move the
drawer and its icon into whatever directory you want to keep it in (simple).



== PROGRAM USAGE ==============================================================

To run, just double-click its icon.  Slider will display a scoreboard, the
puzzle, and some gadgets.  Clicking on the SHUFFLE gadget will reset the
clock to 0 and shuffle the puzzle pieces.  Just select with the mouse which
piece you want to slide and that piece will move (if it can).  The clock
starts when the first piece is moved.  The clock will stop when the puzzle
is back in numerical order.  Also your time and number of moves will be
recorded in the previous scores display.


-- THE SCORE DISPLAY ------------------

The large green display is the time elapsed (accurate to 1/10th of a
second) with the smaller green numbers being the size of the puzzle and the
number of moves made.

The red displays underneath the green ones indicate the last 5 scores for
solving the current size puzzle.  (Sorry, it's not a high score table
yet...)

As of version 1.04, a character is displayed to the left of the moves count
to indicate what mode the game is in.  A "C" indicates the computer is solving
or has solved the puzzle.  A "P" indicates the game is paused.


-- THE GADGETS ------------------------

There are 5 gadgets above the score display.  Keyboard shortcuts are shown
in "quotes".  They are:

   QUIT "Q"- Quits the game. :)

   CONFIG "C"- Opens the config window for adjusting game parameters. (See
THE CONFIG WINDOW below.)

   PAUSE "P"- Stops the clock until another piece is moved or PAUSE is clicked
again.

   SOLVE "S"- Signals the computer to solve the puzzle for you!  (Clicking it
again will put the game in PAUSE mode so you can finish it.)

   SHUFFLE "<spacebar>" - Shuffles the pieces around and resets the clock to 0:00.0.
The clock starts when you move your first piece.  The larger the puzzle,
the longer this takes.

   INVISIBLE DRAG BAR - You can't see it, but the screen's drag bar is
there.  Just try to drag the screen down, it works!

   INVISIBLE DEPTH GADGET - You can't see this either, but if you click in
the upper-right corner of the screen, you will flip screens normally.


-- THE CONFIG WINDOW ------------------

   This is a small window which allows you to customize the puzzle.  The
gadget descriptions and keyboard short cuts are:

   PUZZLE SIZE "W" or "H" - You can select any combination of width and
height for the number of puzzle pieces.

   VISIBLE SHUFFLE "V" - When checked, you get to watch the pieces get shuffled
on the screen.  If not checked, the new puzzle will appear instantly when
SHUFFLE is pressed.

   ALWAYS SOLVABLE "A" - This determines what method is used to shuffle the
pieces.  If checked, the computer will start with a solved puzzle and then
randomly move the pieces around.  The number of moves depends on the size
of the puzzle.
If not checked, the computer will start with an empty puzzle and drop
pieces in random places in the puzzle.  This is very quick, but the
resulting puzzle will not always be solvable.  (Thanks to Randy for this
idea)

   HIGH TASK PRIORITY "P" - On an A500 things are a bit slugish as far as
mouse movement is concerned...  When checked, this raises Slider's
task priority to 50.  I only suggest using this on an A500,  it will
actually slow things down on faster machines. If not checked, task priority
is set to 0. (default)

   CUSTOM PICTURE / PICTURE SETTINGS - For future versions if people are
interested in one.  -- Not implemented.

   SAVE "S"- saves current settings as tool types in Slider's icon
(slider.info).  -- Not implemented.

   USE "U"- uses the current settings and remakes puzzle if size was change.

   CANCEL "C"- returns to puzzle, ignoring any new settings.


-- THE KEYBOARD -----------------------

   "<ESC>" or "Q" Quits the game.  Shortcuts for gadgets are listed above.
You can also move the puzzle pieces by using the cursor keys or numeric
keypad keys.  This will move the piece that is on the side of the blank
space that you point to.  (?)  For example, if you press UP, the piece up
above the blank space will move.  A little confusing, but it really hurts
to play this way.  Just use the mouse, I am not responsible for any hand
injuries caused by anyone playing this game with the keyboard.


-- THE BRAIN --------------------------

   If you select SOLVE, the computer will solve each piece in order until
it reaches the bottom two rows.  It will then solve the last two rows
simultaneously from left to right.  If the puzzle is unsolvable, the
computer will beep when it has solved as much as it can, and the timer
will just keep on going...  The fastest that computer is allowed to
move is once every Intuitick (0.1 seconds).  Because the window doesn't get
every intuitick message, and the computer pauses in between move sequences,
it's time will be slower than 10 moves a second.  It's still faster than
I've seen anyone play this, so I have no desire to speed it up.  (I
wouldn't mind if it was even slower than this...)



== HINTS ======================================================================

   Just hold the mouse button down when moving pieces.  Your mouse button
probably won't last long if you click it once every move.  It's about 1000
moves to solve an 8x8 puzzle (I had to replace my left mouse button before
I realized I should put this feature in.)

   If you get stuck on one piece, press SOLVE to see how the computer puts
it in, then press SOLVE again to stop the computer and finish the puzzle
yourself.  Read "THE BRAIN" section to see what order the computer solves
the puzzle in.

   If you activate another window to check on something else running on your
Amiga, Slider will pause the clock and wait for you to you reactivate the
Slider window.



== KNOWN BUGS: ================================================================

   None, anymore ;-).

   I try my hardest to make sure all my programs are completely bug free.
I use an A4000 and nothing iritates me more than downloading a game that
doesn't run on this machine.  I test all my software on the A4000 as well as
on an Amiga 500, trying every combination of options possible, running other
programs at the same time, and using up LOTS of run time.  I can solve these
puzzles almost as fast as the computer now. If you find a bug, PLEASE let me
know!!!  If I don't know about it, I can't fix it.  Quality is very important
to me.



== HISTORY ====================================================================

Version 1.07   06-Apr-95
     V1.06 proved not to work with ECS and WB3.1...  Screen setup routine is
         now completely rewritten.  It checks GfxBase directly for chip set
         and default display mode.  With AGA chipset, Slider asks system for
         best mode available (64 colors).  With non-AGA chipset, Slider opens
         a hi-res lace screen in the mode the computer was booted in (NTSC or
         PAL).  Should work with all Amigas 500-4000, WB 2.0-3.1, OCS/ECS/AGA
         Chips.

      Thanks go to all those who reported problems and successes, and to those
      who tested this version for me on their different Amigas so I could be
      sure it worked for everyone before I released it.


Version 1.06   31-Mar-95
     This time I really fixed the A3000 problem (at least with WB2.1)....
      Thanks go to Mike Nelson for testing and quick bug reporting!

Version 1.05   26-Mar-95   (wish it was not released)
     Thought I fixed problem when running on an A3000, but I made it worse.
      Seems OpenScreen() would open a Productivity screen in 4 colors even
      though I specified 64!

Version 1.04   13-Jan-95
     Added Pause/Computer indicator (the P or C on the LED display).
     Added ability to move more than one piece at a time.  Now if you click on
         any piece that is in the same row or column as the empty spot, all
         the tiles in between will move.
     Touched up AGA graphics to give more depth to LED display and to smooth
         marble background.
     Rewrote shuffle routine to be more thorough and efficient.
     Added version number into config window titlebar.
     Error messages now appear in requesters.

Version 1.03   29-Oct-94   (not released)
     Added internal loading routines for IFF files eliminating the requirement
         for "iff.library".  This also eliminated any need for access to iff
         files after gamescreen is loaded.
     Computer now stops trying when it cannot solve a puzzle.

Version 1.02   27-Oct-94   (not released)
     Added busy pointer/ghosted gadgets for when window was busy shuffling
         tiles or during Config mode so that multiple gadget hits (like on
         SHUFFLE) would have no effect.
     Now recognizes earlier Kickstarts and alerts you if your not using at
         least WB 2.0

Version 1.01   30-Sep-94   (not released)
   -  It is possible to flip screens, activating another window without
      releasing the mouse button (ala QMouse).  Slider would therefore
      not recieve the mouse SELECTUP message and let you move pieces
      even though you were no longer holding the button down.

Version 1.00   9/9/94
   -  First public release.



== ALSO FROM THE AUTHOR =======================================================

   QMousePrefs -  This program gives you a preferences window for
                  adjusting any options for QMouse by Dan Babcock.
                  Also includes icon for your WBStartup drawer so you
                  don't have to modify s:User-Startup to use QMouse.

   CARNAGE - An addictive two player game in which you must seek out and
kill your opponent with the nastiest weapon you can find.  This 2d split
screen overhead scroller features high-res graphics, well thought out
stereo sound, mazes, teleports, all kinds of weapons ranging from rifles to
bazookas, and terrifying killer robots that seem to know your every move.
Also features serial/modem link support for playing against a friend (or
foe) who is only a phone call away.  And you can type messages to each
other in real time so you can express your true feelings about having a
grenade tossed at you.  Carnage is written by Randall Richards and Joseph
Carlson.


   CP-1 SEGA(TM) CONTROL PAD ADAPTER - Tired of the old joysticks that
only have one button?  Having trouble finding an old standard joystick?  Well
this little adapter allows you to use any joystick made for the Sega Genesis
with your Amiga.  Sega Genesis Controllers are easy to find (any Toys 'R Us)
and inexpensive (about $13 for the SEGA brand).  The joypad and trigger (B)
button will work for any game, and we have released a shared library for other
programmers to utilize ALL the other buttons in their games.  Future games we
release will use the extra buttons (Carnage registered version already does!).
My friend Randy and I are currently using the adapter with SEGA infrared
cordless controlpads on our Amigas.  Please contact me if you are interested
in obtaining or supporting such a product.


   CONTROLPAD LIBRARY:  What good is a control pad adapter without support?
Well, with this simple shared library, game programmers will have an easy time
incorporating those extra buttons into their games.  This library is freely
distributable and allows programs to check the real time status of joystick
or controlpad buttons, direction, and type with a simple and very fast library
function call.  If you feel the need to make a game that uses more than one
button, then this is for you!  The archive includes the library, docs, sample
code, a controlpad/joystick/adapter test program, and ordering information
for the CP-1 ControlPad Adapter.  The library reads joysticks just fine
without the adapter, so you can still use the library even if you don't want
to take advantage of the extra buttons.


-- COMING SOON ------------------------


   READ - A fast text file reader which adapts to any screen mode and any
fixed width font.  Fast (and fine) scrolling via mouse or cursor keys.
Scrolls left and right as well as up and down.  (Just when you thought
you've seen enough text readers...)  By Joseph Carlson.



== THE AUTHOR =================================================================

   Please send any comments to:

      Joe Carlson
      3020 E Yorba Linda Blvd
      Apt. E-22
      Fullerton, CA  92631  USA

      EMAIL: INTERNET -> j.carlson10@genie.com
                   or    xjcarlson@csu.fullerton.edu
             GENIE    -> J.CARLSON10


   I would appreciate any feedback you might have, such as suggestions or
bug reports.

   Special thanks to Randy Richards, good friend for over 10 years.  The
computer solving routines would've been a nightmare without your "queue.c"
code.  Also to Dave Esposito for testing this on his A1200 and to Peter Olafson
for the mention of Slider in Amigaworld!


Commodore is dead (and it's about time...)

                               //
         Long live the Amiga \X/ and whatever company gets the rights to it!


===============================================================================
