Blackjack.Players.BasicStrategyPlayer.Hit C# (CSharp) Method

Hit() public method

public Hit ( HandInfo info ) : bool
info HandInfo
return bool
        public override bool Hit(HandInfo info)
        {
            var hand = info.PlayerHands.ElementAt(info.HandToPlay);
            var value = hand.Value;
            var soft = hand.Soft;
            var dealer = info.DealerHand.Cards.ElementAt(0).Rank;

            if (!soft && value == 12 && dealer < Ranks.Four)
                return true;

            if (soft && value == 18 && dealer > Ranks.Six && dealer < Ranks.Nine)
                return false;

            if (soft && value == 18 && dealer == Ranks.Two)
                return false;

            if (soft && value == 17 && dealer == Ranks.Two)
                return true;

            if (!soft && dealer == Ranks.Ten &&
                hand.Cards.ElementAt(0).Rank == Ranks.Seven &&
                hand.Cards.ElementAt(1).Rank == Ranks.Seven)
                return false;

            return base.Hit(info);
        }