The main object of this implementation is to demonstrate knowledge-based artificial intelligence. The game is simple: cards of the same value form a pair. The human player's hand is the first box, the human player's pairset is the second box. The computer player's pairset is the third box. The computer communicates via the bottom message box, and the human hightlights cards and clicks the buttons. To request a card from the computer, hightlight its match in your hand and click the "Request" button. If the computer has it, it will place it in your hand. Otherwise, click "Draw Card" to take the top card from the pile. To give a card the computer requests, highlight it in your hand and click the "Give Card" button. If you do not have a card the computer requests, tell it to "go fish" with the "Computer Draw" button. As this is a study in AI, not UI, clicking the wrong thing at the wrong time will confuse the computer due to little error checking. Finally, turns rotate back and forth (no second turn for a successful request.)


TODO:
1) Fix bug where applet crashes if a player runs out of cards, most likely by implementing part of 3) below.
2) Improve the gameOver() method. Right now, when the deck is empty, the applet just stops and displays a pair count.
3) Add some of the other rules of the game: when you have no cards in your hand and the game is not over, you must draw 7 cards, or as many as are left in the deck AND when you successfully gain the card you requested (be it from the other player or the deck) you go again.
4) Add more error detection to disable buttons when they aren't allowed to be used.
5) Label windows for the card display.

These are the things I know about. If you find anything else, please email me!

back