Hand.java :  » Game » dominion-dot-com » com » dot » dominion » domain » Android Open Source

Android Open Source » Game » dominion dot com 
dominion dot com » com » dot » dominion » domain » Hand.java
package com.dot.dominion.domain;

import java.util.ArrayList;

public class Hand {  
  private ArrayList<Card> hand;    //Hand

    /**
     * Default constructor
     * 
     */
    public Hand() {
      hand = new ArrayList<Card>();
    }
  
  /**
   * Add a Card to the Hand
   * 
   * @param card  The Card to be added
   */
  public void addToHand( Card card ) {
    if( card != null )
      hand.add( card );
  }

  /**
   * Check if a Card exists within the Hand
   * 
   * @param card    The Card being checked for
   * @return    The Card if it exists in the Hand.
   *         null:
   *           * the Hand is empty
   *           * the Card doesn't exist in the Hand
   */
  public Card checkCard( Card card ) {
    if(! hand.isEmpty() )
      return peekCard( hand.indexOf(card) );
    else
      return null;
  }
  
  /**
   * Discard the chosen Card from the Hand
   * 
   * @param card    The Card to be discarded from the Hand
   * @return    The Card chosen
   *         null:
   *         -- The Hand is empty
   *         -- The Card doesn't exist
   */
  public Card discardCard( Card card ) {
    if(! hand.isEmpty() )
      return discardCard( hand.indexOf(card) );
    else
      return null;
  }
  
  /**
   * Discard the Card at the index from the Hand
   * 
   * @param index    The index of the Card
   * @return      The Card chosen
   *           null:
   *           -- The Hand is empty
   *           -- The Card doesn't exist
   */
  public Card discardCard( int index ) {
    if(! hand.isEmpty() )
      return hand.remove( index );
    else
      return null;
  }
  
  /**
   * The size of the Hand
   * 
   * @return  The amount of Cards left in the Hand
   */
  public int getSize() {
    return hand.size();
  }
  
  /**
   * Check the Card at the specified index in the Hand
   * 
   * @param index    The index of the Card
   * @return      The Card at the index.
   *           null:
   *             * if the Hand is empty
   *             * the Card doesn't exist in the Hand
   */
  public Card peekCard( int index ) {
    if(! hand.isEmpty() )
      return hand.get( index );
    else
      return null;
  }
  
  /**
   * The Hand in an array
   * 
   * @return array -- An array of the cards within this Hand
   */
  public Card[] toArray() {
    Card[] array = new Card[hand.size()];
    
    for( int i = 0; i < hand.size(); i++ )
      array[i] = hand.get(i);
    
    return array;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.