Decks part 4:/** cardToString - get printable form of indicated card held by nominated player
@param boolean -- check player's hand?
@param int -- card number to investigate (numbered from 1)
@return String -- printable form of requested card
Obtain String formatted description of particular card held by player/computer
*/
public String cardToString(boolean playersTurn,int cardNumber)
{
int deck;
int card;
trace("cardToString: begins");
if (playersTurn == PLAYERS_TURN)
{
// get player's card's detail
deck=playersCards[cardNumber-1] / (NUM_SUITS*NUM_CARDS);
card=playersCards[cardNumber-1] % (NUM_SUITS*NUM_CARDS);
trace("cardToString: card is " + cards[deck][card] + " (#" + playersCards[cardNumber-1] +
", deck " + deck + ", card " + card +") with a value of " + CARD_VALUES[card%NUM_CARDS]);
}
else
{
// get computer's card's detail
deck=computersCards[cardNumber-1] / (NUM_SUITS*NUM_CARDS);
card=computersCards[cardNumber-1] % (NUM_SUITS*NUM_CARDS);
trace("cardToString: card is " + cards[deck][card] + " (#" + computersCards[cardNumber-1] +
", deck " + deck + ", card " + card +") with a value of " + CARD_VALUES[card%NUM_CARDS]);
}
trace("cardToString: ends");
return cards[deck][card];
}
/** setTracing - used to turn tracing messages on or off
@param boolean -- indicates the required state of messages (true on, false off)
@return none
*/
public void setTracing(boolean traceState)
{
tracing = traceState;
}
/** trace - displays tracing messages
@param String -- the message to be displayed if instance variable tracing is true
@return none
*/
public void trace(String message)
{
if(tracing)
{
System.out.println(message);
}
}
}