~ubuntu-branches/ubuntu/natty/freecell-solver/natty

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<?asciidoc-toc?>
<?asciidoc-numbered?>

<article lang="en">
<articleinfo>
    <title>Freecell Solver Readme File</title>
    <date>2009-08-29</date>
    <author>
        <firstname>Shlomi</firstname>
        <surname>Fish</surname>
        <email>shlomif@cpan.org</email>
    </author>
    <authorinitials>SF</authorinitials>
<revhistory><revision><revnumber>$Id: README.txt 3312 2010-12-02 19:38:28Z shlomif $</revnumber><date>2009-08-29</date><authorinitials>SF</authorinitials></revision></revhistory>
</articleinfo>
<section id="_introduction">
<title>Introduction</title>
<simpara>This is Freecell Solver version 3.4.x, a program that automatically
solves most layouts of Freecell, and similar Solitaire variants as
well as those of Simple Simon.</simpara>
<simpara>Freecell Solver is distributed under the MIT/X11 License
( <ulink url="http://en.wikipedia.org/wiki/MIT_License">http://en.wikipedia.org/wiki/MIT_License</ulink> ), a free, permissive,
public-domain like, open-source license.</simpara>
<simpara>Note that the Freecell Solver source and Win32 binary distributions <emphasis role="strong">do not</emphasis>
provide a graphical user-interface (GUI) and are primarily meant to be used
by Solitaire researchers and software developers. If you&#8217;re looking for a
suitable GUI based on Freecell Solver, see our links at:</simpara>
<simpara><ulink url="http://fc-solve.berlios.de/links.html#front_ends">http://fc-solve.berlios.de/links.html#front_ends</ulink></simpara>
<simpara>I hope you&#8217;ll enjoy using Freecell Solver, and make the best of it.</simpara>
<simpara>&#8212;&#8201;Shlomi Fish ( <ulink url="http://www.shlomifish.org/">http://www.shlomifish.org/</ulink> )</simpara>
</section>
<section id="_building">
<title>Building</title>
<simpara>Read the file <literal>INSTALL.txt</literal> for information on how to do that.</simpara>
</section>
<section id="_usage">
<title>Usage</title>
<simpara>The program is called "fc-solve". You invoke it like this:</simpara>
<literallayout class="monospaced">fc-solve board_file</literallayout>
<simpara>board_file is the filename with a valid Freecell startup board. The file is
built as follows:</simpara>
<simpara>It has the 8 Freecell stacks.
Each stack contain its number of cards separated by a whitespace
and terminated with a newline character( it&#8217;s important that the last stack
will also be terminated with a newline !). The cards in the line are ordered
from the bottom-most card in the left to the topmost card in the right.</simpara>
<simpara>A card string contains the card number (or rank) followed by the card deck.
The card number is one of: <literal>A,1,2,3,4,5,6,7,8,9,10,J,Q,K</literal>. Alterantively
<literal>T</literal> can be used instead of <literal>10</literal>. The card deck is one of:  <literal>H,S,D,C</literal> (standing
for Hearts, Spades, Diamonds and Clubs respectively).</simpara>
<simpara>Here is an example board: (PySol/Microsoft board No. 24)</simpara>
<screen>4C 2C 9C 8C QS 4S 2H
5H QH 3C AC 3H 4H QD
QC 9S 6H 9H 3S KS 3D
5D 2S JC 5C JH 6D AS
2D KD 10H 10C 10D 8D
7H JS KH 10S KC 7C
AH 5S 6S AD 8H JD
7S 6C 7D 4D 8S 9D</screen>
<simpara>And another one: (PySol board No. 198246790)</simpara>
<screen>KD JH 5H 7D 9H KC 9D
3H JD 5D 8H QH 7H 2D
4D 3S QC 3C 6S QS KS
10C 9S 6D 9C QD 8S 10D
10S 8C 7S 10H 2C AS
8D AC AH 4H JC 4C
6H 7C 4S 5S 5C JS
AD KH 6C 2H 3D 2S</screen>
<simpara>You can specify the contents of the freecells by prefixing the line with
"FC:". For example:</simpara>
<screen>FC: 3H QC</screen>
<simpara>will specify that the cards 3 of hearts and queen of clubs are present in
the freecells. To specify an empty freecell use a "-" as its designator.</simpara>
<simpara>If there&#8217;s another "FC:" line, the previous line will be overriden.</simpara>
<simpara>You can specify the contents of the foundations by prefixing the line with
"Founds:" and then using a format as follows:</simpara>
<screen>Founds: H-5 C-A S-0 D-K</screen>
<simpara>Hence, the deck ID followed by a dash followed by the card number in the
foundation. A suit that is not present will be assumed to be 0. Again, if
there&#8217;s more than one then the previous lines will be overriden.</simpara>
<simpara>The program will stop processing the input as soon as it read 8 lines of
standard stacks. Therefore, it is recommended that the foundations and
freecells lines will come at the beginning of the file.</simpara>
<simpara>The program will process the board and try to solve it. If it succeeds it
will output the states from the initial board to its final solution to the
standard output. If it fails, it will notify it.</simpara>
<simpara>For information about the various command-line switches that Freecell
Solver accepts, read the <literal>USAGE.txt</literal> file in this directory.</simpara>
<simpara>To solve Simple Simon boards append <literal>--game simple_simon</literal> right after
the "fc-solve" program name.</simpara>
</section>
<section id="_the_board_generation_programs">
<title>The board generation programs</title>
<simpara>Several programs which can generate the initial boards of various Freecell
implementations can be found in the "board_gen/" sub-directory. Read the
<literal>README.txt</literal> file there for details on how they can be compiled and used.</simpara>
<simpara>In any case, they can save you the time of inputting the board yourself.</simpara>
</section>
</article>