A little project done for a CS course a while back. Uploaded for historical purposes, the game ends when a player empties their hand of cards by making matches. The game is automated, so you can't actually play - playing the game constitutes either putting down a card or picking one up, so it's not particularly engaging anyways.
The following ADTs have been implemented:
- Stack
- Queue
- List
- Linked List
- Ordered List
And functor comparisons are used to maintain a chosen order in the cards.