spider.icn: Program to play Spider solitaire card game

August 23, 2012; William S. Evans
Contributor: Gregg M. Townsend
Requires: Version 9 graphics
This file is in the public domain.
Initially, 54 cards are dealt (from two decks shuffled together)
into 10 piles (6,5,5,6,5,5,6,5,5,6) with only the top card in each
pile face-up.  You may pile face-up cards in decreasing order (Ace
is smallest) by moving the topmost face-up "run" of cards from one
pile to another.  A run is a decreasing sequence of cards in the
same suit.  To perform the move, you may drag the run to its
destination, click on the pile containing the run, or type its
number.  In the latter two cases, the program tries to move the
longest run in the pile to the "best" location.  You may move any
run to an empty pile.  To move a partial run, drag or click its
deepest card using the center mouse button.

A run from King to Ace can be removed from the board (by clicking on
its pile or typing its pile number).

The 50 additional cards remaining in the deck may be dealt, one to
each pile, as long as every pile contains at least one card.

The goal of the game is to remove all 104 cards from the board.

The following keys are recognized by the program:
    'd'     Deal.
    'u'     Undo last move or deal.
    'q'     Quit.
    'e'     Print list of face-up cards in pile. (Useful if the
            pile becomes so big that the card names are obscured.)
    'E'     Print list of face-down cards in pile. (Cheating)
    'n'     Start a new game.
    's'     Save the current game to a file.
    'r'     Read a game from a file.
    '1234567890'    Move run from indicated pile.
    'bfhptvwxyz'    Move run from indicated pile.

If $HOME/.spdhist exists and is writable at the start of the run, a
single history record is written to it for each 'n' or 'q' or 'r'
command, unless no cards have been moved.

Source code | Program Library Page | Icon Home Page