Freecell Solver PySol Integration
Note to Freecell Solver’s Users
Shlomi Fish - the core developer of Freecell Solver, and the webmaster of this website - has been experiencing reliability problems with incoming and outgoing E-mail (such as legitimate messages being dropped or classified as spam). They also affect his GMail-dot-com account.
Therefore, one should preferably contact him using other electronic means.
Recent Note (09-July-2009)
The contents of this page have become largely irrelevant with the more recent development of PySolFC and its integration with Freecell Solver. The PySolFC developers took a different approach than mine and relied on calling the fc-solve executable for solving the layouts of the Solitaire games. Nevertheless, it's a valid approach and Freecell Solver works beautifully there.
Update: see the PyPI freecell-solver module based on cffi which recent versions of PySolFC can make use of for solving more quickly.
Introduction
This is code that enables Freecell Solver integration with PySol, an excellent cross-platform Solitaire Suite written in Python.
Files to Download
FreecellSolver-0.2.0.tar.gz | Python bindings for Freecell Solver. Can be built as an RPM. Requires Freecell Solver. |
pysol-4.82-fcs-patch-0.2.0.diff | Patch for PySol 4.82 to enable Freecell Solver integration. PySol will use Freecell Solver only if the Python bindings are installed. |
Instructions
I assume you already have Python, PySol and all of their requisites installed. First, install Freecell Solver. Afterwards compile the Python bindings for it. Afterwards download the PySol source from its homepage, apply the patch, and invoke pysol from that directory.
Notes
The current integration still leaves a lot to be desired. I haven't yet enabled the use of Freecell Solver for Der Katzenschwanz and Die Schlange , as well as all the pseudo-Freecell games like Cruel, Good Measure, or Streets and Alleys. The latter may require translating moves to single-card moves, as Freecell Solver may move the cards one sequence at a time. Plus, Simple Simon cannot work because Freecell Solver also moves non-homogeneous sequences as one, so it was not enabled at the moment.