Пример #1
0
        /// <summary>
        /// Initialize a deck of cards using this <see cref="ICardsConfiguration"/>
        /// </summary>
        /// <param name="configuration"></param>
        private Deck(ICardsConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration), "The configuration must be supplied to the deck");
            }

            _randomProvider = new RNGCryptoServiceProvider();
            _cards          = configuration.ConfigureDeck();
            CardsInDeck     = _cards.Count;
        }