Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shlomif/fc-solve
Freecell Solver - a C library for automatically solving Freecell and some other variants of card Solitaire
https://github.com/shlomif/fc-solve
ansic c card-game cards floss foss freecell freecell-solver freesoftware game games hacktoberfest mit-license opensource patience solitaire
Last synced: 12 days ago
JSON representation
Freecell Solver - a C library for automatically solving Freecell and some other variants of card Solitaire
- Host: GitHub
- URL: https://github.com/shlomif/fc-solve
- Owner: shlomif
- License: mit
- Created: 2012-04-04T19:41:12.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-11T14:12:48.000Z (27 days ago)
- Last Synced: 2024-10-11T21:44:38.999Z (27 days ago)
- Topics: ansic, c, card-game, cards, floss, foss, freecell, freecell-solver, freesoftware, game, games, hacktoberfest, mit-license, opensource, patience, solitaire
- Language: C
- Homepage: https://fc-solve.shlomifish.org/
- Size: 71.7 MB
- Stars: 58
- Watchers: 10
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The Freecell Solver Repository Root README
[Freecell Solver](https://fc-solve.shlomifish.org/) is an open source
(distributed under the MIT/Expat licence) library, written in C, for attempting
to solve several variants of card Solitaire/Patience, including
[Freecell](http://en.wikipedia.org/wiki/FreeCell) ,
[Baker’s Game](http://en.wikipedia.org/wiki/Baker%27s_Game) ,
[Seahaven Towers](http://en.wikipedia.org/wiki/Seahaven_Towers_%28solitaire%29)
, and
[Simple Simon](http://en.wikipedia.org/wiki/Simple_Simon_%28solitaire) .
Also contained are several command-line programs that use it, and the original
project also span some other code for testing and for support.[![Travis-CI Build Status](https://travis-ci.org/shlomif/fc-solve.svg?branch=master)](https://travis-ci.org/shlomif/fc-solve)
[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/ondu214y43paykp5/branch/master?svg=true)](https://ci.appveyor.com/project/shlomif/fc-solve/branch/master)# Screenshots
![PySol FC Running Freecell Solver]()
## Videos
[![PySolFC Solving Freecell](https://img.youtube.com/vi/hYdqNuX4WJc/0.jpg)](https://www.youtube.com/watch?v=hYdqNuX4WJc)
# Repository structure
## [fc-solve/source/](./fc-solve/source/)
This contains the source of the solver itself. One can use CMake to build it.
## [cpan/Games-Solitaire-Verify/Games-Solitaire-Verify](./cpan/Games-Solitaire-Verify/Games-Solitaire-Verify/)
This is the Games-Solitaire-Verify CPAN module. For more information see:
* [Homepage](https://fc-solve.shlomifish.org/verify-code/)
* [MetaCPAN](https://metacpan.org/release/Games-Solitaire-Verify)## [Task-FreecellSolver-Testing](./cpan/Task-FreecellSolver-Testing/)
This is a CPAN module for installing the various test dependencies that
are found on CPAN.## [cpan/Task-FreecellSolver-Testing-MultiConfig](./cpan/Task-FreecellSolver-Testing-MultiConfig/)
This is a CPAN module for installing the various test dependencies that
are found on CPAN. More comprehensive.## [fc-solve/arch\_doc](./fc-solve/arch\_doc/)
The Freecell Solver Architecture Document. Somewhat out-of-date, but may
be studied for general enlightenment.## [fc-solve/presets](./fc-solve/presets/)
Some code that is used in order to calculate the built-in command-line
presets, like “-l good-intentions” or “-l maliciously-obscure”. Not very
documented. This code is written in parts in Perl, Bash and Mono.NET.## [fc-solve/rejects](./fc-solve/rejects/)
Contains code that is no longer used.
## [fc-solve/docs](./fc-solve/docs/)
Contains various documents that are not part of the main source distribution.
Mostly specifications and planning documents.## [fc-solve/benchmarks](./fc-solve/benchmarks/)
Logs of various benchmarks of the code.
# How to use the library
The external API, which is provided by
[freecell-solver/fcs_user.h](fc-solve/source/include/freecell-solver/fcs_user.h) ,
[freecell-solver/fcs_cl.h](fc-solve/source/include/freecell-solver/fcs_cl.h) and
some other headers, is not documented, but it corresponds to the command line
interface that is
documented in
the [USAGE](http://fc-solve.shlomifish.org/docs/distro/USAGE.html) and
the [README](http://fc-solve.shlomifish.org/docs/distro/README.html) documents,
has some examples in the code, and should not be hard to use.# Related repositories and links
* [Impossible 4-freecells and 5-freecells deals in Freecell Pro](https://github.com/shlomif/freecell-pro-impossible-deals)
* [Freecell Pro 3 freecells impossible and intractable deals](https://github.com/shlomif/freecell-pro-3fc-deals--split)
* [Finding zero freecells deals in the fc-pro range](https://github.com/shlomif/freecell-pro-0fc-deals)
* [The minimal number of freecells needed to win for each deal in the original Microsoft FreeCell 32,000 deals.](https://github.com/shlomif/MicrosoftFreeCell32000-minimal-freecells)
* [Lack of PGO investigation.](https://github.com/shlomif/investigate-lack-of-PGO-in-gcc-5.2.x--re-fc-solve)
* [Freecell Solver's Site Assets](https://github.com/shlomif/fc-solve-site-assets)
* [patsolve](https://github.com/shlomif/patsolve) - a different Solitaire solver with interdependencies on this one.
* [Haskell Freecell library](https://github.com/shlomif/Freecell)* [PySol](https://pysolfc.sourceforge.io/) - an open source Solitaire game collection
* [kpat](https://games.kde.org/game.php?game=kpat)
* [solitaire.gg](https://github.com/KyleU/solitaire.gg)