Blackjack.BlackjackGame.CanSplit C# (CSharp) Method

CanSplit() public method

public CanSplit ( PlayerHand hand ) : bool
hand PlayerHand
return bool
        public bool CanSplit(PlayerHand hand)
        {
            if (hand.Finished)
                return false;

            if (hand.Player.Splits >= Settings.MaxSplitsAllowed)
                return false;

            if (hand.Cards.Count() != 2)
                return false;

            var c = hand.Cards.ElementAt(0);
            if (c.HighValue != hand.Cards.ElementAt(1).HighValue)
                return false;

            if (!Settings.ResplitAcesAllowed && c.Rank == Ranks.Ace && hand.HasBeenSplit)
                return false;

            if (!Settings.SplitTensAllowed && c.HighValue == 10)
                return false;

            return true;
        }