ca.ualberta.cs.poker
Class Hand

java.lang.Object
  extended by ca.ualberta.cs.poker.Hand

public class Hand
extends java.lang.Object

Stores a Hand of Cards (up to a maximum of 7)

Author:
Aaron Davidson

Field Summary
static int MAX_CARDS
           
 
Constructor Summary
Hand()
           
Hand(Hand h)
          Duplicate an existing hand.
Hand(java.lang.String cs)
           
 
Method Summary
 boolean addCard(Card c)
          Add a card to the hand.
 boolean addCard(int i)
          Add a card to the hand.
 Card getCard(int pos)
          Get the a specified card in the hand
 int[] getCardArray()
          Obtain the array of card indexes for this hand.
 void makeEmpty()
          Remove the all cards from the hand.
 void removeCard()
          Remove the last card in the hand.
 void setCard(int pos, Card c)
          Add a card to the hand.
 int size()
          Get the size of the hand.
 void sort()
          Bubble Sort the hand to have cards in descending order, but card index.
 java.lang.String toString()
          Get a string representation of this Hand.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_CARDS

public static final int MAX_CARDS
See Also:
Constant Field Values
Constructor Detail

Hand

public Hand()

Hand

public Hand(java.lang.String cs)
Parameters:
cs - A string representing a Hand of cards

Hand

public Hand(Hand h)
Duplicate an existing hand.

Parameters:
h - the hand to clone.
Method Detail

size

public int size()
Get the size of the hand.

Returns:
the number of cards in the hand

removeCard

public void removeCard()
Remove the last card in the hand.


makeEmpty

public void makeEmpty()
Remove the all cards from the hand.


addCard

public boolean addCard(Card c)
Add a card to the hand. (if there is room)

Parameters:
c - the card to add
Returns:
true if the card was added, false otherwise

addCard

public boolean addCard(int i)
Add a card to the hand. (if there is room)

Parameters:
i - the index value of the card to add
Returns:
true if the card was added, false otherwise

getCard

public Card getCard(int pos)
Get the a specified card in the hand

Parameters:
pos - the position (1..n) of the card in the hand
Returns:
the card at position pos

setCard

public void setCard(int pos,
                    Card c)
Add a card to the hand. (if there is room)

Parameters:
c - the card to add

getCardArray

public int[] getCardArray()
Obtain the array of card indexes for this hand. First element contains the size of the hand.

Returns:
array of card indexs (size = MAX_CARDS+1)

sort

public void sort()
Bubble Sort the hand to have cards in descending order, but card index. Used for database indexing.


toString

public java.lang.String toString()
Get a string representation of this Hand.

Overrides:
toString in class java.lang.Object