/* @(#)Card.java 1.0 7 February 2005 */ /* Useful imports */ import edu.neu.ccs.*; import edu.neu.ccs.gui.*; import edu.neu.ccs.codec.*; import edu.neu.ccs.console.*; import edu.neu.ccs.filter.*; import edu.neu.ccs.jpf.*; import edu.neu.ccs.parser.*; import edu.neu.ccs.pedagogy.*; import edu.neu.ccs.quick.*; import edu.neu.ccs.util.*; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.font.*; import java.awt.image.*; import javax.swing.*; import javax.swing.border.*; import java.io.*; import java.util.*; import java.math.*; import java.beans.*; import java.lang.reflect.*; import java.net.*; import java.util.regex.*; public class Card { private int rank; private int suit; private String[] rankList = { "", "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", }; private String[] suitList = { "Hearts", "Diamonds", "Spades", "Clubs" }; public static final int HEARTS = 0; public static final int DIAMONDS = 1; public static final int SPADES = 2; public static final int CLUBS = 3; public static final int ACE = 1; public static final int JACK = 11; public static final int QUEEN = 12; public static final int KING = 13; public Card(int rank, int suit) { if ((ACE <= rank) && (rank <= KING)) this.rank = rank; else throw new RuntimeException ("Invalid rank in Card constructor: " + rank); if ((HEARTS <= suit) && (suit <= CLUBS)) this.suit = suit; else throw new RuntimeException ("Invalid suit in Card constructor: " + suit); } public ImagePaintableLite getPicture() { int index = 13 * suit + rank - 1; return CardImages.paintables[index]; } public int getRank() { return rank; } public int getSuit() { return suit; } public String getRankAsString() { return rankList[rank]; } public String getSuitAsString() { return suitList[suit]; } }