public bool IsHandSoft(Hand hand) { var cards = hand.Cards; var isSoft = false; int value = 0; int aceCount = 0; foreach (var card in cards) { if (card.IsAce()) { aceCount += 1; } else { value += card.GetValue(); } } for (int i = 0; i < aceCount; i++) { if (value + CardValueDictionary.GetValue("Ace") > 21) { value += 1; } else { isSoft = true; value += CardValueDictionary.GetValue("Ace"); } } return(isSoft); }
public int CalcHandValue(Hand hand) { var cards = hand.Cards; int value = 0; int aceCount = 0; foreach (var card in cards) { if (card.IsAce()) { aceCount += 1; } else { value += card.GetValue(); } } for (int i = 0; i < aceCount; i++) { if (value + CardValueDictionary.GetValue("Ace") > 21) { value += 1; } else { value += CardValueDictionary.GetValue("Ace"); } } return(value); }