For online algebra practice, go here.

This program (PyWhist) is a rather simple-minded game of contract rubber bridge. To learn about bridge, get a good book, or point your favorite search engine at contract bridge or bridge game. Scoring is a bit confusing, though; we follow standard rubber bridge scoring, as described here. We do score for honors.

The program should run on any platform with a Python 3 interpreter. (Linux systems will likely already have one, else one can be had from Python's website.) To install PyWhist, you will first need to download it, for which click here (pick whichever format works for you):

PyWhist-0.1.tar.gz PyWhist-0.1-py3.5.egg

If you downloaded the tar.gz archive, it will extract to a directory named PyWhist-0.1. Then, from that directory, you should type

      python install
Unless, that is, python on your system refers to the old version (Python 2), in which case you need to type
    python3 install
Alternatively, if you downloaded the egg, you just need to type (from the directory where it is)
    easy_install PyWhist-0.1-py3.5.egg
(This of course assumes you have easy_install; if not, you can get it from here.)

It features two GUI front ends, a primitive one based on Tk (which you almost certainly have on your machine if you have Python) and a slicker one based on FLTK and PyFLTK. It automatically tries to use FLTK, but falls back on Tk if it can't find it. While FLTK claims to be cross-platform, I know of no way to download it or its Python bindings as a binary for Windows, so to get the FLTK front end working under Windows you will likely have to compile both yourself. As I don't run Windows on my machine, I don't know how doable this is.

One difference between this program and similar bridge-playing programs is that this one remembers the state of the score. That is, with 90 on, the program is aware that 1 is game, and will thus only raise if interested in slam. Also, it's trying to win, so if vulnerable then it will go for slam only if game would still leave it behind on points. On the other hand, it doesn't use any fancy conventions. Majors are four-card and two-bids (all of them, even 2), are weak.

If you want to help make PyWhist better, you can send bug reports/patches/ideas/etc to warshall (at) 99main (dot) com. Especially helpful would be a self-installer for Windows people.

Have fun!