//calculates the sum of a hand private int Sum(Hand hand) { bool have_ace = false; int total = 0; foreach (Card card in hand.getHand()) { Card.CardNumber card_number = card.getCardNumber(); if (card_number == Card.CardNumber.ACE) { have_ace = true; } switch (card_number) { case Card.CardNumber.KING: case Card.CardNumber.QUEEN: case Card.CardNumber.JACK: total += 10; break; default: total += ( int )card_number + 1; break; } } //ace case if (have_ace) { if (total + ACE_MULTIPLIER <= 21) { total += ACE_MULTIPLIER; } } return(total); }
//generates a string which is used for finding the correct image to draw private List <string> genCardName() { List <string> names = new List <string>(); foreach (Card c in hand.getHand()) { StringBuilder name = new StringBuilder(); int num = ( int )c.getCardNumber(); switch (num) { case 0: name.Append('a'); //ace break; case 10: name.Append('k'); //king break; case 11: name.Append('q'); //queen break; case 12: name.Append('j'); //jack break; default: name.Append(num + 1).ToString(); //numerical values break; } int suit = ( int )c.getCardSuit(); switch (suit) { case 0: name.Append('c'); //club break; case 1: name.Append('h'); //heart break; case 2: name.Append('s'); //spade break; case 3: name.Append('d'); //diamond break; } name.Append(".png"); names.Add(name.ToString()); } return(names); }