CardsAgainstIRC3.Game.DeckTypes.Markov.Markov C# (CSharp) Method

Markov() public method

public Markov ( GameManager manager, IEnumerable arguments ) : System
manager GameManager
arguments IEnumerable
return System
        public Markov(GameManager manager, IEnumerable<string> arguments)
        {
            if (arguments.Count() < 3)
                throw new Exception("Usage: markov max_white max_black deck_type [deck_arguments]");
            _maxWhite = int.Parse(arguments.ElementAt(0));
            _maxBlack = int.Parse(arguments.ElementAt(1));
            _deck = (IDeckType)GameManager.DeckTypes[arguments.ElementAt(2)]
                .GetConstructor(new Type[] { typeof(GameManager), typeof(IEnumerable<string>) })
                .Invoke(new object[] { manager, arguments.Skip(3) });

            while (_deck.WhiteCards > 0)
                _whiteGenerator.Feed(_deck.TakeWhiteCard().Parts.First().Split(' '));

            while (_deck.BlackCards > 0)
                _blackGenerator.Feed(_deck.TakeBlackCard().Parts);
        }