Exemple #1
0
        /// <summary>
        /// Constructor with random number generator dependency.
        /// Since no cards are specified, it creates a default list of cards for the deck.
        /// </summary>
        /// <param name="random">Random number generator.</param>
        public Deck(IRandomNext random)
        {
            Random = random;

            foreach (var suit in new Suit[] { Suit.Club, Suit.Diamond, Suit.Heart, Suit.Spade })
            {
                foreach (var rank in new Rank[] {
                    Rank.Two,
                    Rank.Three,
                    Rank.Four,
                    Rank.Five,
                    Rank.Six,
                    Rank.Seven,
                    Rank.Eight,
                    Rank.Nine,
                    Rank.Ten,
                    Rank.Jack,
                    Rank.Queen,
                    Rank.King,
                    Rank.Ace
                })
                {
                    Cards.Add(new Card(suit, rank));
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Constructor that takes some cards and a random number generator.
 /// </summary>
 /// <param name="cards">Cards that will form the deck.</param>
 /// <param name="random">Random number generator.</param>
 public Deck(IEnumerable <Card> cards, IRandomNext random)
 {
     Random = random;
     Cards.AddRange(cards);
 }