User:Shlomif/Freecell Solver

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Freecell Solver
Developer(s) Shlomi Fish
Initial release April 2000 (2000-04)
Written in C
Type Games
License MIT License
Website http://fc-solve.shlomifish.org/

Freecell Solver is an ANSI C library (accompanied by several command-line programs that are also written in C) that automatically solves layouts of several variants of Solitaire card games. It can solve deals of FreeCell and several variations on this theme (such as Baker's Game, ForeCell, and Seahaven Towers (solitaire)) and also has specialised logic for solving layouts of Simple Simon.[1]

The first version of Freecell Solver could only solve layouts of FreeCell (giving it its name) but support for other, similar Solitaire variants was added in version 0.10.0[2] Further support for the Simple Simon solitaire was added in version 1.10.0[3].

License[edit]

The original license of the solver (along with its source code) was the Public domain. However, version 2.20.0 (released in 31 March, 2009) converted to the MIT License[4]. This was done due to concerns for the legal status of Public domain source code in various international jurisdictions.

Features[edit]

Among the notable features of Freecell Solver are:[5].

  • Can present the moves and intermediate states of the solutions, while retaining the original and in-play positions of the cells and columns/stacks. (see Glossary of solitaire).
  • Run-time customisation: supports different run-time configurations that may prove more beneficial for certain deals. The solver also supports "themes" or "presets" that allow for loading of a (potentially large) number of command line arguments from files, thus shortening the amount of typing required at the command line.
  • The library provides an Application Programmer Interface (API) which is namespace-clean, and can be arbitrarily instantiated and released. A multi-threaded version was created that creates several instances of the solver on different threads, which are then ran simultaneously.[6]
  • Portability: the library and command line programs can be compiled and deployed on Microsoft Windows, UNIX-like systems (including Linux), and Mac OS X. It has been successfully compiled with several C compilers.[7]
  • Supports a number of run-time configuration options for determining the Solitaire variant:
    • How sequences are built - by rank, by suit or by alternate color.
    • How many columns and cells are available.
    • Whether vacant columns can be filled by any card, by kings only or not not at all.
    • Whether a sequence move is unlimited or not.

Integration with Third-Party Software[edit]

Stephan Kulow, a KDE developer, integrated Freecell Solver into KPatience (or "kpat" for short - part of the KDE kdegames package.) starting from KDE 2.1.[8]. Later on, in KDE 4.x, Freecell Solver was replaced by a different solver called "patsolve" by Tom Holroyd.

Freecell 3D, a shareware implementation of FreeCell for Microsoft Windows integrates Freecell Solver.

FcPro ("Solver Evaluation Edition"), a Microsoft Windows, and GPLed Freecell console, integrates Freecell Solver as well as patsolve, and an older Freecell solver by Don Woods, which was later modified by the FcPro developers.[9]

The developers of PySol Fan Club Edition, a cross-platform, GPLed, collection of Solitaire games written in Python added support for Freecell Solver.[10]

References[edit]

  1. ^ The Free Software Directory. "Freecell Solver - Free Software Directory". Retrieved 2009-07-22. 
  2. ^ Fish, Shlomi. "Freecell Solver news for 9-October-2000". Retrieved 2009-07-22. 
  3. ^ Fish, Shlomi. "Freecell Solver news for 2-October-2001". Retrieved 2009-07-22. 
  4. ^ Fish, Shlomi. "Freecell Solver 2.22.0 was Released, Now Under the MIT/X11 License". Retrieved 2009-07-22. 
  5. ^ "Freecell Solver's Features List". Retrieved 2009-07-22. 
  6. ^ Fish, Shlomi. "Please Benchmark the Multi-threaded version of Freecell Solver". Retrieved 2009-07-22. 
  7. ^ Fish, Shlomi. "Adventures in Compiling (on The Freecell Solver blog)". Retrieved 2009-07-22. 
  8. ^ Kulow, Stephan. "Horrible News!". Retrieved 2009-07-22. 
  9. ^ Ettlinger, Adrian. "FcPro: Solver Evaluation Edition Download Page". Retrieved 2009-07-22. 
  10. ^ Radchenko, Con. "Freecell-Solver bugs report". Retrieved 2009-07-22. 

See Also[edit]

External links[edit]