This game is often just known as Fish, but the name "Fish" (or Canadian Fish or Russian Fish) is also sometimes used for the more complex partnership game Literature. Go Fish is best for 3-6 players, but it is possible for 2 to play. A standard 52 card deck is used. The dealer deals 5 cards to each player (7 each for 2 players). The remaining cards are placed face down to form a stock.
The player to dealer's left starts. A turn consists of asking a specific player for a specific rank. For example, if it is my turn I might say: 'Mary, please give me your jacks'. The player who asks must already hold at least one card of the requested rank, so I must hold at least one jack to say this. If the player who was asked (Mary) has cards of the named rank (jacks in this case), she must give all her cards of this rank to the player who asked for them. That player then gets another turn and may again ask any player for any rank already held by the asker.
If the person asked does not have any cards of the named rank, they say 'Go fish!'. The asker must then draw the top card of the undealt stock. If the drawn card is the rank asked for, the asker shows it and gets another turn. If the drawn card is not the rank asked for, the asker keeps it, but the turn now passes to the player who said 'Go fish!'.
As soon as a player collects a book of 4 cards of the same rank, this must be shown and discarded face down. The game continues until either someone has no cards left in their hand or the stock runs out. The winner is the player who then has the most books.
Full game rules
- One level of indentation per method
- Don’t use the ELSE keyword
- Wrap all primitives and Strings
- First class collections
- One dot per line
- Don’t abbreviate
- Keep all entities small
- No classes with more than two instance variables
- No getters/setters/properties
Full list of object calsthenics rules
gradle test