public static List <Pile> TheFirstGame(bool two) { return(new List <Pile> { new Pile(Cellar.Get(), 10), new Pile(Moat.Get(), 10), new Pile(Village.Get(), 10), new Pile(Woodcutter.Get(), 10), new Pile(Workshop.Get(), 10), new Pile(Militia.Get(), 10), new Pile(Remodel.Get(), 10), new Pile(Smithy.Get(), 10), new Pile(Market.Get(), 10), new Pile(Mine.Get(), 10), }.Concat(VictoryAndTreasures(two)).ToList()); }
// BASE static PresetGames() { games.Add(Games.AllCards1stEdition, new List <Card> { Adventurer.Get(), Bureaucrat.Get(), Cellar.Get(), CouncilRoom.Get(), Feast.Get(), Festival.Get(), Gardens.Get(), Chancellor.Get(), Chapel.Get(), Laboratory.Get(), Library.Get(), Market.Get(), Militia.Get(), Mine.Get(), Moat.Get(), Moneylender.Get(), Remodel.Get(), Smithy.Get(), Spy.Get(), Thief.Get(), ThroneRoom.Get(), Village.Get(), Witch.Get(), Woodcutter.Get(), Workshop.Get(), }); games.Add(Games.FirstGame, new List <Card> { Cellar.Get(), Moat.Get(), Village.Get(), Woodcutter.Get(), Workshop.Get(), Militia.Get(), Remodel.Get(), Smithy.Get(), Market.Get(), Mine.Get(), }); games.Add(Games.BigMoney, new List <Card> { Adventurer.Get(), Bureaucrat.Get(), Chancellor.Get(), Chapel.Get(), Feast.Get(), Laboratory.Get(), Market.Get(), Mine.Get(), Moneylender.Get(), ThroneRoom.Get(), }); games.Add(Games.Interaction, new List <Card> { Bureaucrat.Get(), Chancellor.Get(), CouncilRoom.Get(), Festival.Get(), Library.Get(), Militia.Get(), Moat.Get(), Spy.Get(), Thief.Get(), Village.Get() }); games.Add(Games.SizeDistortion, new List <Card> { Cellar.Get(), Chapel.Get(), Feast.Get(), Gardens.Get(), Laboratory.Get(), Thief.Get(), Village.Get(), Witch.Get(), Woodcutter.Get(), Workshop.Get(), }); games.Add(Games.VillageSquare, new List <Card> { Bureaucrat.Get(), Cellar.Get(), Festival.Get(), Library.Get(), Market.Get(), Remodel.Get(), Smithy.Get(), ThroneRoom.Get(), Village.Get(), Woodcutter.Get(), }); games.Add(Games.ThrashHeap, new List <Card> { Chapel.Get(), Village.Get(), Workshop.Get(), Woodcutter.Get(), Feast.Get(), Moneylender.Get(), Remodel.Get(), Mine.Get(), Festival.Get(), Market.Get(), }); }
/// <summary> /// Creates a new card based on how many cards have already been made. /// </summary> /// <param name="card"> /// The name of the card to be created. /// </param> /// <returns> /// The new created card. /// </returns> public static Card CreateCard(CardName card) { Contract.Requires(card != CardName.Backside & card != CardName.Empty); Contract.Ensures(Contract.Result<Card>().Name == card); Card c; switch (card) { case CardName.Copper: c = new Copper(); break; case CardName.Silver: c = new Silver(); break; case CardName.Gold: c = new Gold(); break; case CardName.Curse: c = new Curse(); break; case CardName.Estate: c = new Estate(); break; case CardName.Duchy: c = new Duchy(); break; case CardName.Province: c = new Province(); break; case CardName.Gardens: c = new Gardens(); break; case CardName.Cellar: c = new Cellar(); break; case CardName.Chapel: c = new Chapel(); break; case CardName.Chancellor: c = new Chancellor(); break; case CardName.Village: c = new Village(); break; case CardName.Woodcutter: c = new Woodcutter(); break; case CardName.Workshop: c = new Workshop(); break; case CardName.Feast: c = new Feast(); break; case CardName.Moneylender: c = new Moneylender(); break; case CardName.Remodel: c = new Remodel(); break; case CardName.Smithy: c = new Smithy(); break; case CardName.ThroneRoom: c = new ThroneRoom(); break; case CardName.CouncilRoom: c = new CouncilRoom(); break; case CardName.Festival: c = new Festival(); break; case CardName.Laboratory: c = new Laboratory(); break; case CardName.Library: c = new Library(); break; case CardName.Market: c = new Market(); break; case CardName.Mine: c = new Mine(); break; case CardName.Adventurer: c = new Adventurer(); break; case CardName.Bureaucrat: c = new Bureaucrat(); break; case CardName.Militia: c = new Militia(); break; case CardName.Spy: c = new Spy(); break; case CardName.Thief: c = new Thief(); break; case CardName.Witch: c = new Witch(); break; case CardName.Moat: c = new Moat(); break; default: throw new NotImplementedException("Tried to create a card that was not implemented when CardFactory was last updated."); } c.Initialize(card, CardsMade[card]); CardsMade[card] += 1; createdCards.Add(c, true); return c; }