/* * Card.java */ package boondock.holdem.Cards; /** * Class that stores all Card information. * * @author Jonathan O'Keefe * @author Scott Semonian * @author Matt Brinza * @author Hamid R. Tahsildoost * * @author The Boondock Saints * @author No Limit Texas Holdem */ public class Card{ private int cardRank; //1-13 corresponds to A-K private int cardSuit; //1-4 corresponds to Diamond, Club, Heart, Spade private static String suits[] = { "D", "C", "H", "S" }; private static String ranks[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" }; public Card(){ } /** * Creates Card based on position in Deck * * @param position The Card's position in the Decks (1-52 Cards per Deck) */ public Card ( int position ){ cardRank = ((position%52) % 13); cardSuit = ((position%52) / 13); } /** * Creates Card based on Card value and suit * * @param rank The value of the card (1-13 corresponds to A-K) * @param suit The suit of the card (1-4 corresponds to Diamond, Club, Heart, and Spade) */ public Card ( int rank, int suit ){ cardRank = rank; cardSuit = suit; } /** * Returns a Card's rank * * @return The Card rank */ public String getRank (){ return ranks[cardRank]; } /** * Returns a Card's numerical rank * * @return The Card numerical rank */ public int getNumRank () { return cardRank; } /** * Returns a Card's numerical suit * * @return The Card numerical suit */ public int getNumSuit (){ return cardSuit; } /** * Returns a Card's suit * * @return The Card suit */ public String getSuit (){ return suits[cardSuit]; } /** * Sets a Card's numerical rank * * @param rank The Card rank */ public void setNumRank (int rank){ cardRank = rank; } /** * Sets a Card's numerical suit * * @param suit The Card suit */ public void setNumSuit (int suit) { cardSuit = suit; } /** * String information of Card * * @return String information of Card */ public String toString () { return getRank() + getSuit(); } public Card toCard(String s) { String temp = s.substring(0,s.length() - 1); for(int i = 1; i < 14; i++) { if(temp.equals(ranks[i])) cardRank = i; } temp = s.substring(s.length()-1); for(int i = 0; i < 4; i++) { if(temp.equals(suits[i])) cardSuit = i; } return this; } } //end of Card class