private void Initialize() { this.ID = IDFactory.NewID(); this.hand.PutWritable(new List <ID <ReadableCard> >()); this.MonsterIDsInPlay = new WriteControlled_Item <IReadOnlyList <ID <Readable_MonsterCard> >, List <ID <Readable_MonsterCard> > >(new ListConverter <ID <Readable_MonsterCard> >()); this.MonsterIDsInPlay.PutWritable(new List <ID <Readable_MonsterCard> >()); }
public TournamentPlayer DesignNewDeck(TournamentPlayer player, Tournament Tournament) { TournamentPlayer newPlayer = player.Clone(); // Choose a new random card IList <ReadableCard> legalCards = player.Referee.LegalCards; WritableCard newCard = legalCards[player.Random.Next(legalCards.Count)].Clone((WritableCard)null); newCard.ID = IDFactory.NewID(); // replace an existing card with the new card newPlayer.RemoveCard(newPlayer.MainDeck.First()); newPlayer.AddCard(newCard); return(newPlayer); }
public override void Process(Game game) { Writable_GamePlayer monsterController = this.monsterController_provider.GetValue(this, game, (Writable_GamePlayer)null); int numberToSpawn = this.countProvider.GetValue(this, game, default(int)); //monsterController.get List <ID <Readable_MonsterCard> > territory = monsterController.MonsterIDsInPlay.GetWritable(); for (int i = 0; i < numberToSpawn; i++) { Writable_MonsterCard monster = this.monsterToSpawn.Clone((Writable_MonsterCard)null); monster.ID = IDFactory.NewID(); monster.ControllerID = monsterController.GetID((Readable_GamePlayer)null); territory.Add(monster.GetID((Readable_MonsterCard)null)); game.AddCard(monster); } }
public TournamentPlayer(Random random, Referee referee) { this.Random = random; this.Referee = referee; // make a random deck this.Strategy = new MiniMaxStrategy(new DefaultHearthstoneGameEvaluator(), 1000); int i; LinkedList <ReadableCard> cards = new LinkedList <ReadableCard>(); IList <ReadableCard> legalCards = referee.LegalCards; for (i = 0; i < referee.Starting_DeckSize; i++) { WritableCard newCard = legalCards[this.Random.Next(legalCards.Count)].Clone((WritableCard)null); //WritableCard newCard = legalCards[0].Clone((WritableCard)null); newCard.ID = IDFactory.NewID(); cards.AddLast(newCard); } this.mainDeck = cards; // set up some mutation strategies this.MutationCounts = new Dictionary <DeckMutationStrategy, double>(); this.MutationCounts[new DeckMutationStrategy()] = 6; }
private void Initialize() { this.ID = IDFactory.NewID(); }