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); } } }
public DevelopmentCardHolder(IIndexSequence random) { this.Initialise(random); }