Part of the edX CS600 course.  Not all code was written by me, however I added much of the core game play functionality.