Esempio n. 1
0
 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> >());
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
 private void Initialize()
 {
     this.ID = IDFactory.NewID();
 }