Blackjack.ActionTable.GetAction C# (CSharp) Method

GetAction() public method

public GetAction ( HandInfo info ) : ActionTypes
info HandInfo
return ActionTypes
        public ActionTypes GetAction(HandInfo info)
        {
            var dealer = info.DealerHand.Cards.ElementAt(0).Rank;
            var hand = info.PlayerHands.ElementAt(info.HandToPlay);
            var rank1 = hand.Cards.ElementAt(0).Rank;
            if (hand.Cards.Count() == 2 && rank1 == hand.Cards.ElementAt(1).Rank)
                return Table[(int)rank1,(int)dealer];

            var value = hand.Value;
            var soft = hand.Soft;

            if (value >= 21)
                return ActionTypes.Stand;

            if (soft)
                return Table[value - 3, (int)dealer];

            //if (value > 17)
            //    return ActionTypes.Stand;

            return Table[value + 14, (int)dealer];
        }