The computer makes a random decision as to who gets to start the game, and then the computer and player take turns asking each other for cards of a specified rank. If the asked player has any cards of the requested rank, they give them up to the asking player. A player must have at least one of the cards of the rank they request in their hand. When a player asks for a rank of which the other player has no cards, the asker is told to "Go Fish!". Then, the asker draws a card from the non-dealt cards. If they draw the card they asked for, they continue their turn, asking for more ranks from the other player. Otherwise, the other player gets a turn.
When a player completes a book, either by getting cards from the other player or drawing from the deck, they set those cards aside and the rank is no longer in play.
The game ends when either player no longer has any cards in their hand. The player with the most books wins.
fish provides instructions as to what input it accepts.
The computer cheats only rarely.