This is an open source and portable (Windows, Linux and Mac OS X) collection of Card Solitaire/Patience games written in Python. Its homepage is http://pysolfc.sourceforge.net/ .
The maintenance branch of PySol FC on GitHub by Shlomi Fish and by some other people, has gained official status, ported the code to Python 3, and implemented some other enhancements.
-
Python (2.7 or 3.x)
-
Tkinter (Tcl/Tk 8.4 or later)
-
For sound support (optional)
- PySol-Sound-Server fork: https://github.com/shlomif/pysol-sound-server (mp3, wav, tracker music)
- (or: ) PyGame: http://www.pygame.org/ (mp3, ogg, wav, midi, tracker music)
-
Other packages (optional):
- Tile (ttk): http://tktable.sourceforge.net/tile/ (0.8.0 or later)
- PIL (Python Imaging Library): http://www.pythonware.com/products/pil
- Freecell Solver: http://fc-solve.shlomifish.org/ .
- Black Hole Solitaire Solver
We provide an installer for Windows as well as an Android package on F-droid.
For installation from source, see: http://www.python.org/doc/current/inst/
You can run from the source directory:
python pysol.py
After following steps similar to these (on Mageia Linux ):
On Mageia you can do:
sudo urpmi git make pygtk2 pygtk2.0-libglade gnome-python-canvas tkinter
On Debian / Ubuntu / etc. you can do:
sudo apt-get install -y cpanminus libperl-dev make perl python-glade2 python-gnome2 python-gnome2-dev python-gtk2 python-setuptools python-tk
git clone https://github.com/shlomif/PySolFC.git
cd PySolFC
# Now make sure you have installed the dependencies.
gmake test
gmake rules
ln -s data/images images
tar -xvf PySolFC-Cardsets-2.0.tar.bz2 # Need to be downloaded from sourceforge
mkdir -p ~/.PySolFC
rmdir ~/.PySolFC/cardsets
ln -s "`pwd`/PySolFC-Cardsets-2.0" ~/.PySolFC/cardsets
python pysol.py
Note! If you are using a Debian derivative (e.g: Debian, Ubuntu, or
Linu Mint) and you are getting an error of "No cardsets were found !!! Main
data directory is [insert dir here]
Please check your PySol installation.",
then you likely installed the cardsets package which has removed some files
that are needed by pysol from source (without the debian modifications).
Please uninstall that package and use the cardsets archive from sourceforge.net per the instructions above.
At the moment, this only works on POSIX (Linux, FreeBSD and similar) systems. Windows and Mac users - you'll need to chip in with a script for your system.
This is kind of stupid and maybe it can be fixed in the future, but for now:
pip install six
pip install random2
pip install pysol-cards
You may want to use your OS distribution package system instead, for example:
sudo apt-get install python-six
sudo apt-get install python-random2
For Pillow compilation, libjpeg headers and libraries need to be available:
sudo apt-get install libjpeg-dev
git clone git://github.com/shlomif/PySolFC.git
cd PySolFC
PKGTREE=/usr/local/packages/PySolFC # or whatever
export PKGTREE
mkdir -p "$PKGTREE"
( cd "$PKGTREE" && python -m venv ./env )
./contrib/install-pysolfc.sh
"$PKGTREE"/env/bin/pysol.py
-
Kivy (10.0 or later)
-
Features:
- Sound support integrated.
- Android apk build support.
-
Running from source without installation:
python pysol.py --kivy
If you want to use the solver, you should configure freecell-solver
( http://fc-solve.shlomifish.org/ ) by passing the following options
to its CMake-based build-system:
-DMAX_NUM_FREECELLS=8 -DMAX_NUM_STACKS=20 -DMAX_NUM_INITIAL_CARDS_IN_A_STACK=60
.
-
Music
-
Copy some music files (in mp3 format for example) to ~/.PySolFC/music/
-
Original PySol music can be downloaded from: https://sourceforge.net/projects/pysolfc/files/PySol-Music/
-
Cardsets
-
Copy cardsets to ~/.PySolFC/cardsets
-
Additional cardsets can be downloaded from the PySolFC project page: https://sourceforge.net/projects/pysolfc/files/
- PySol-Sound-Server fork
- Sources for the PySolFC web site
- PySolFC Announcements Drafts
- PySolFC-Cardsets tarballs sources repo
- Extra mahjongg cardsets for PySolFC - originally for flowersol
- The old "pysol-music" distribution
Related:
Other open source solitaires:
- solitaire.gg - web-based and written in Scala
- Solitairey - web-based written in JavaScript
- KPat - desktop-based for KDE.
- Aisleriot - desktop-based by the GNOME project with relatively limited functionality.
Screencasts:
To facilitate coordination about contributing to PySol, please join us for a real time Internet chat on the ##pysol chat room on Freenode (note the double octothorpe/hash-sign/pound-sign) . We may set up chat rooms on different services in the future.
In addition, we set up a Google Group for discussing open source card games which will also be used for discussing PySol. Feel free to subscribe or post!