17.25.3 Go Fish: A cardtable game

Go Fish is a simple card game. It is usually played by two to five players.


-- How the game is played: --
Using a standard 52 card deck, seven cards are dealt to each player.

The player whose turn it is to play asks another player for their cards of a particular rank. For example, "Vashir, do you have any threes?" Players can not ask for a card they are not holding, and cannot ask for an entire suit. The recipient of the request must then hand over all cards of that rank, if they have any. The next turn then goes to the player next in PLAYERS list.

If the player who was asked has no cards of that rank, they say "go fish", and the asking player does CARDTABLE REQUEST CARD. The turn then passes to the player who was asked.

When one player has a pair they then do CARDTABLE DISCARD <card>. This will automatically search out for the other card in that same rank.

The game is not over when a player runs out of cards. That player simply requests a card from the ocean, and the turn passes to the next player down the list. The game ends when all cards have been used, and all pairs have been obtained. Whoever has the most pairs wins.


-- Command Breakdown: --
CARDTABLE DEAL 7 CARDS TO ALL
   - Use this command to initially hand out cards to all the players involved.

CARDTABLE PASS <card> TO <player>
   - If you have a particular card from a player's request, you will need to do
     CARDTABLE VIEW CARDS. Find the number next to the card of choice and use
     this command to pass that card to the player.

CARDTABLE REQUEST CARD
   - Using this command will add the top card of the deck into your hand.
   
CARDTABLE PLAYERS
   - This command will show you many pairs were discarded by players. Whomever
     has the most at the end of the game is the winner.