Exemple #1
0
        private void Initialise(IIndexSequence random)
        {
            this.cards = new Queue <DevelopmentCard>();

            var victoryPointCardTitles = new Queue <string>(new[] { "Chapel", "Great Hall", "Library", "Market", "University" });

            var index = -1;

            while (random.TryGetNextIndex(out index))
            {
                if (index < KnightCardCount)
                {
                    var card = new KnightDevelopmentCard();
                    this.cards.Enqueue(card);
                }
                else if (index < (KnightCardCount + MonopolyCardCount))
                {
                    var card = new MonopolyDevelopmentCard();
                    this.cards.Enqueue(card);
                }
                else if (index < (KnightCardCount + MonopolyCardCount + RoadBuildingCardCount))
                {
                    var card = new RoadBuildingDevelopmentCard();
                    this.cards.Enqueue(card);
                }
                else if (index < (KnightCardCount + MonopolyCardCount + RoadBuildingCardCount + YearOfPlentyCardCount))
                {
                    var card = new YearOfPlentyDevelopmentCard();
                    this.cards.Enqueue(card);
                }
                else if (index < (KnightCardCount + MonopolyCardCount + RoadBuildingCardCount + YearOfPlentyCardCount + VictoryPointCardCount))
                {
                    var title = victoryPointCardTitles.Dequeue();
                    var card  = new VictoryPointDevelopmentCard(title);
                    this.cards.Enqueue(card);
                }
            }
        }
Exemple #2
0
 public DevelopmentCardHolder(IIndexSequence random)
 {
     this.Initialise(random);
 }