Hand
Date: 2017-05-13

game_backend

## Class Hand

- java.lang.Object
- - game_backend.Hand

-     public class Hand
      extends java.lang.Object

  Represents a hand of a player, with five cards and all the actions associated to it
  Author:
    João Vieira, Guilherme Reis, Catarina Santos

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private Card[]` | `cards`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Hand()` Creates an empty hand

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Card` | `getCard(int card)` Returns the reference for the card in a given position without removing it from the hand
    `Card` | `retrieveCard(int card)` Retrieves card of a given position in hand
    `void` | `saveCard(Card card)` Puts a card in the first empty position in hand

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### cards

          private Card[] cards

  - ### Constructor Detail

    - #### Hand

          public Hand()

      Creates an empty hand

  - ### Method Detail

    - #### retrieveCard

          public Card retrieveCard(int card)

      Retrieves card of a given position in hand
      Parameters:
        `card` - Index that identifies the card to retrieve
      Returns:
        Card Card retrieved

    - #### getCard

          public Card getCard(int card)

      Returns the reference for the card in a given position without removing it from the hand
      Parameters:
        `card` - Index that identifies the card to show
      Returns:
        Card Reference of the asked card

    - #### saveCard

          public void saveCard(Card card)

      Puts a card in the first empty position in hand
      Parameters:
        `card` - Card to save in hand