GR.Gambling.Blackjack.SuperOptStrategy.GetActions C# (CSharp) Method

GetActions() public method

public GetActions ( Game game ) : List
game Game
return List
        public override List<ActionEv> GetActions(Game game)
        {
            SuperEval.Initialize(game);

            int split_card = game.PlayerHandSet.ActiveHand[0].PointValue;

            List<ActionEv> actions = new List<ActionEv>();

            if (game.IsValidAction(ActionType.Stand))
                actions.Add(new ActionEv() { Action = ActionType.Stand, Ev = SuperEval.StandEv() });
            if (game.IsValidAction(ActionType.Hit))
                actions.Add(new ActionEv() { Action = ActionType.Hit, Ev = SuperEval.HitEv() });
            if (game.IsValidAction(ActionType.Double))
                actions.Add(new ActionEv() { Action = ActionType.Double, Ev = SuperEval.DoubleEv() });
            if (game.IsValidAction(ActionType.Surrender))
                actions.Add(new ActionEv() { Action = ActionType.Surrender, Ev = SuperEval.SurrenderEv() });
            if (game.IsValidAction(ActionType.Split))
                actions.Add(new ActionEv() { Action = ActionType.Split, Ev = SuperEval.SplitEv(split_card, game.Rules.Splits - game.SplitCount) });

            actions.Sort(delegate(ActionEv ae1, ActionEv ae2) { return ae2.Ev.CompareTo(ae1.Ev); });

            return actions;
        }