KPat Use Case
=============

coolo would like us to add scripting support to kpat as the card games are
logically very simple and depend only on a small number of classes. They have
no real qt dependency, but all the objects they must deal with are qobjects.
The aim is that most if not all of the card games would be implemented as
scripts rather than being hard coded in C++, and that it should be easy to add
new games.

Looking at the Clock game, there are 3 really important functions (in
clock.cpp) The constructor which positions the piles of cards and sets some
flags on the pile. The function checkAdd() which decides if a card can be
dragged to a pile, and the function deal() which deals the cards.

To implement this, we need access to a bunch of enums, access to the Pile and
Card objects (which are QObjects), and the ability to work with CardList which
is a QList<Card*>.

If we can implement a single game as JS then coolo is happy to port the rest
to js himself. He is also happy for us to work on this in the trunk of kpat.

