Hearts/LX Version 1.00a
A Palmtop Adaptation of the Classic Card Game
by Rob Tillotson
A CQ Codeworks Production

Copyright 1996 Rob Tillotson
Portions Copyright 1995 The PAL Group

The latest version of Hearts/LX can always be found on its home page:
    http://www.io.com/~rob/hp200lx/cq0002.htm

Visit the HP Palmtop Pages at the following URL:
    http://www.io.com/~rob/hp200lx/

Questions or comments?  Send Internet e-mail to <rob@io.com>.


-- DISTRIBUTION --------------------------

This program is shareware.  If you like it, you are encouraged to
register.  A few non-essential features are disabled as an incentive
to register, but the core game will play the same whether you are
registered or not.

You can register on-line at the following URL:

    http://www.io.com/~rob/hp200lx/cqsoft.htm

For information on registration by mail and other options, please see
the file REGISTER.TXT.

When you register, you will receive a code which will enable the
additional features.  I hope you'll also get the satisfaction of
knowing you've helped out a fellow HP LX owner.  I've got a lot of
other ideas for palmtop applications, and registering will encourage
me to develop them.  Please register if you can (but only if you like
the game, of course).

You may distribute copies of this program to others, upload it to
an online service or Internet site, or place it in a collection of
software provided that:
    - All files in the original distribution are included
    - You don't charge anything specifically for this program, beyond
      the cost of copying.
    - You distribute only an unregistered version (check HEARTS.CFG to
      make sure your serial number isn't in it).
    - If you're selling a collection that includes this program, you
      must not state or imply that registration is included in the
      cost of your collection.


-- GAME DESCRIPTION ----------------------

Hearts/LX is a palmtop adaptation of the popular card game of the same
name.  You play one hand, and the palmtop plays the other three.  Play
and scoring are based on the rules I grew up with, which are the same
as those in other computer versions of Hearts; a few scoring variants
are supported, with more on the way.

If you are familiar with the game of Hearts, skip down a page or so;
if not, here is a short overview:

The object of Hearts is to score as few points as possible, by
avoiding winning tricks in which a scoring card was played.  Scoring
cards include the entire suit of Hearts (1 point each), the Queen of
Diamonds (13 points), and sometimes others.

At the beginning of each hand, the entire deck is dealt out so that
each of the four players has 13 cards.  Then, each player selects
three cards and passes them to an opponent; the passes happen
simultaneously, so you can't see what you're getting before you decide
what to pass.  On the first hand, cards are passed to the left; on the
second hand, across the table; and on the third hand, to the right.
On the fourth hand, no cards are passed at all, and after that, the
sequence repeats.

The first trick is always led with the Two of Clubs, by the person who
holds it.  After that, the winner of each trick leads the next.  As in
most other trick-taking games, you must follow suit if able, and high
card in the suit led wins the trick.  The winner of each trick
collects the points for any scoring cards played during that trick.

Taking all the scoring cards in the hand is called "shooting the
moon".  If any player does this, he gets zero points (instead of the
26 points he actually collected) and all his opponents get 26 points
each.

When any player reaches 100 points, the game is over -- low score
wins.

I will let you discover the finer points of Hearts strategy, but here
are a few tips if you're just starting out:

  - If you can't follow suit, you can dump off any card you want,
    so try to get get rid of entire suits as fast as possible.
  - If you've got high spades, get rid of them ASAP before the Queen
    comes out.
  - Try to shoot the moon only if you have (almost) all high cards.


-- INSTALLATION --------------------------

At minimum, you must copy HEARTS.EXE and HEARTS.CFG to the same directory
on the palmtop.  An icon file, HEARTS.ICN, is also provided if you wish
to install Hearts/LX in the Application Manager or HDM.  (See chapter 24
in the _HP200LX User's Guide_ for instructions on installing a program
in Application Manager.)

Hearts/LX requires 160K of DOS memory to run.

If you wish to play Hearts/LX on the desktop, see the file DESKTOP.TXT,
included with the distribution.


-- HOW TO PLAY HEARTS/LX -----------------

When it is your turn to pass cards, a highlight cursor will appear on
your hand.  Move it left and right with the arrow keys, and press the
space bar to select (or deselect) the highlighted card.  Once you've
picked three cards, press ENTER or F10 to pass them to your opponent.
The cards passed to you will then be displayed; press any key to add
them to your hand and commence play.

Picking a card to play is similar to picking cards to pass, except
that pressing ENTER, F10, or the space bar plays the highlighted card
immediately.  Note that if you hold the Two of Clubs at the start of
a hand, the computer will play it for you automatically.

Watch the message box in the lower right corner of the screen for
important information about the progress of the game.

The "Game/Statistics..." menu item shows a few tidbits of information
about your success (or lack of it).  These statistics are accumulated
until you explicitly reset them.


-- GAME OPTIONS --------------------------

Several sets of game options are accessible through the "Options"
menu:

  Options/General...
    Game Speed:  Sets the delay between computer plays, in
                 milliseconds.
    Sound:  Turns sounds (currently used only to signal errors) on
            or off.

  Options/Rules... (Registered version only)
    Play To:  Sets the number of points at which the game will end.
              100 is customary, and generally produces a game of
              5-15 hands.
    Jack of Diamonds Worth -10 Points:
              Makes the Jack of Diamonds a scoring card, worth -10
              points.  Shooting the moon requires taking the Jack
              as well as all the other scoring cards.
    Shooting is Worth -26 Points:
              Makes shooting the moon worth -26 points to the player
              that does it, instead of +26 to everyone else.
              Primarily intended to keep the game from ending on a
              shoot.

  Options/Players...
    This dialog has a space to enter the name of each computer player,
    and a pop-up list of the available computer strategies.

The game options are saved in HEARTS.CFG; you can edit this file with
a text editor to change the options without going through the dialogs.

There is one option which appears in HEARTS.CFG but not in the program
itself: font selection.  Hearts/LX uses two fonts: "Fixed" for the
scores, and "Normal" for everything else.  By default, one of the
built in fonts is used, but by editing the configuration file you can
allow Hearts/LX to load any HFN format font instead.  (A selection of
HFN fonts are available in the PAL distribution, and a font editor
called PFE is available from all the usual sources of HP LX software.)

You can specify any font which will fit in the space available on the
screen; the screen has been laid out with 15-pixel fonts in mind as a
maximum.  To specify fonts, place a section like this in HEARTS.CFG:

                [Fonts]
                Normal=A:\FONTS\SPAN0015.HFN
                Fixed=A:\FONTS\LUCT13B.HFN

You don't have to specify both fonts if you only want to replace one
of them.  You can specify a proportional font in the "Fixed" slot, but
the scorecard may not look right.

I've supplied a few fonts which you might want to try.  Of the three,
I think COMB0015 looks the best; the plain version (COMS0015) is a
bit light.  SPAN0015 is supplied for those of you who like a more
traditional look.


-- SAVING THE GAME -----------------------
(Registered version only)

Your statistics and the score of the game in progress are saved
automatically, in C:\_DAT\HEARTSLX.ENV.  However, the hand in progress
is NOT saved, and if you quit during the middle of a hand, that hand
doesn't count toward the score or statistics.


-- THE COMPUTER PLAYERS ------------------

There are currently two available computer player types.  "Beginner"
knows the rules, but little else, and tends to pass randomly.  "Tyro"
is somewhat more intelligent about its passes and plays, and three of
them should provide an entertaining game.

The primary weakness of both computer players is that they don't
alter their strategy based on the conditions of the game.  For
instance, they can't deliberatly try to shoot the moon, dump points
on a particular opponent, sacrifice to stop someone else from
shooting, or hold the Queen in an effort to dump it later.  They also
don't alter their behavior (much) in response to rules changes -- most
notably, they don't do much with the Jack of Diamonds, if that option
is turned on.

This sort of advanced play is planned for future versions, if it can
be done within the size and speed limitations of the palmtop platform.
Your comments on the computer's play, and how to improve it, are
welcome at the addresses above.


-- VERSION HISTORY -----------------------

Version 1.00a (1/20/96)
    Documentation changes.  (Program version number not changed.)

Version 1.00a (11/1/96)
    Initial release.


-- WHAT'S NEXT ---------------------------

Here's what I'm working on for future versions of Hearts/LX:
  - better computer strategy
  - computer players that work together... or against one another
  - more rules variants
  - better/more informative statistics
  ... and more

Your registration will encourage me to keep working on this and other
palmtop software.


-- ACKNOWLEDGEMENTS ----------------------

Thanks to Curtis Cameron for the card designs.  Check out his excellent
card, dice, and domino games for the palmtop at:
  http://members.aol.com/FREEWHL44/

This program uses the Palmtop Application Library.  If you're a HP LX
programmer, check out:
  http://ourworld.compuserve.com/homepages/gilles/pal.htm
