=head1 NAME

make-gnome-freecell-board, make-aisleriot-freecell-board,
pi-make-microsoft-freecell-board, make_pysol_freecell_board.py -
Programs to generate boards to be used as input to Freecell Solver.

=head1 SYNOPSIS

B<program> I<[-t]> I<board-number>

or for make_pysol_freecell_board.py:

B<program> I<[-t]> I<[-F]> I<board-number> [I<game-string>]

or for make-aisleriot-freecell-board:

B<program> I<[-t]> I<board-number> [I<game-string>]

=head1 DESCRIPTION

These programs are command-line programs that can generate the I<initial> board
of the Freecell games of several popular Solitaire implementations. Those boards
can be in turn be input to B<fc-solve> by means of a pipeline, or placed
inside a file for safe-keeping.

B<make_pysol_freecell_board.py> and B<make-aisleriot-freecell-board> also
accept an optional third argument which indicates the game type. This type
defaults to  Freecell, but is useful for generating the boards of other games.
Note that  using this flag does not preclude one from using the "--game"
flag of B<fc-solve>.

B<make_pysol_freecell_board.py> accepts another parameter called I<-F>
or I<--pysolfc> that deals the PySolFC boards instead of the classic PySol
ones.

A common paradigm for using those programs is something like:

    bash:~$ pi-make-microsoft-freecell-board 11982 | fc-solve -l gi

If the "-t" option is specified, then the 10 cards are printed with "T"'s,
instead of "10"'s. While this does not have any effect on B<fc-solve> it
may prove useful for other solvers or solitaire implementations which do
not accept "10"'s.

Here is a short description of each program:

B<make-gnome-freecell-board>

Generate the boards of the standalone Freecell program that comes with the
GNOME desktop.

B<make-aisleriot-freecell-board>

Generate the Freecell boards of GNOME's AisleRiot.

B<make_pysol_freecell_board.py>

A Python script that generates the boards of the various games of PySol.

B<pi-make-microsoft-freecell-board>

A program that generates the boards of Microsoft Freecell and of the
Freecell Pro implementation of Freecell.

=head1 OPTIONS

I<board-number> is the board number as a decimal number.

I<game-string> is a string describing the game. Valid strings and their
respective games are:

bakers_game        - Baker's Game (I<*>)

bakers_dozen       - Baker's Dozen (Broken) (I<*>)

beleaguered_castle - Beleaguered Castle (I<*>)

citadel            - Citadel

cruel              - Cruel

der_katz           - Der Katzenschwantz

die_schlange       - Die Schlange

eight_off          - Eight Off (I<*>)

fan                - Fan

forecell           - Forecell

freecell           - Freecell (the default)

good_measure       - Good Measure

ko_bakers_game     - Kings' Only Baker's Game

relaxed_freecell   - Relaxed Freecell

relaxed_seahaven   - Relaxed Seahaven Towers

seahaven           - Seahaven Towers (I<*>)

simple_simon       - Simple Simon (I<*>)

streets_and_alleys - Streets and Alleys

make-aisleriot-freecell-board supports only the games marked with an
asterisk (I<*>).

=head1 SEE ALSO

B<fc-solve> (6)

/usr/share/doc/freecell-solver-FCS_VERSION/board_gen/README

=head1 AUTHOR

Shlomi Fish, L<http://www.shlomifish.org/> .

=cut
