/* ----------------------------------------------------- New implementation of a Card: cardValue = 10*Rank + Suit ----------------------------------------------------- */ public class Card { public static final int SPADE = 4; public static final int HEART = 3; public static final int CLUB = 2; public static final int DIAMOND = 1; private static final String[] Suit = { "*", "d", "c", "h", "s"}; private static final String[] Rank = { "*", "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"}; private int cardValue; public Card( int suit, int rank ) { if ( rank == 1 ) cardValue = 14*10 + suit; // Give Ace the rank 14 else cardValue = rank*10 + suit; } public int suit() { return ( cardValue % 10 ); } public String suitStr() { return( Suit[ cardValue % 10 ] ); } public int rank() { return ( cardValue / 10 ); } public String rankStr() { return ( Rank[ cardValue / 10 ] ); } public String toString() { return ( Rank[ cardValue / 10 ] + Suit[ cardValue % 10 ] ); } }