Beispiel #1
0
 public THHPlayer(THHGame game, int id, string name, MasterCardDefine master, IEnumerable <CardDefine> deck) : base(id, name)
 {
     this.master = game.createCard(master);
     addPile(new Pile(game, PileName.MASTER, 1));
     getPile(PileName.MASTER).add(game, this.master);
     skill = game.createCardById(master.skillID);
     addPile(new Pile(game, PileName.SKILL, 1));
     this[PileName.SKILL].add(game, skill);
     this.deck = new Pile(game, PileName.DECK);
     if (deck != null)
     {
         this.deck.add(game, deck.Select(d => game.createCard(d)).ToArray());
     }
     addPile(this.deck);
     init = new Pile(game, PileName.INIT, maxCount: 4);
     addPile(init);
     hand = new Pile(game, PileName.HAND, maxCount: 10);
     addPile(hand);
     field = new Pile(game, PileName.FIELD, maxCount: 7);
     addPile(field);
     grave = new Pile(game, PileName.GRAVE);
     addPile(grave);
     warp = new Pile(game, PileName.WARP);
     addPile(warp);
     addPile(new Pile(game, PileName.ITEM));
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        /// <param name="master"></param>
        /// <param name="deck">注意,牌库的第一张是牌库的底端</param>
        /// <returns></returns>
        public THHPlayer createPlayer(int id, string name, MasterCardDefine master, IEnumerable <CardDefine> deck)
        {
            if (players.Any(p => p.id == id))
            {
                throw new ArgumentException("已经存在ID为" + id + "的玩家");
            }
            THHPlayer player = new THHPlayer(this, id, name, master, deck);

            addPlayer(player);
            return(player);
        }
Beispiel #3
0
 public THHPlayer(THHGame game, int id, string name, MasterCardDefine master, IEnumerable <CardDefine> deck) : base(id, name)
 {
     this.master = game.createCard(master);
     addPile(new Pile(game, "Master", new Card[] { this.master }, 1));
     skill = game.createCardById(master.skillID);
     addPile(new Pile(game, "Skill", new Card[] { skill }, 1));
     this.deck = new Pile(game, "Deck", deck.Select(d => game.createCard(d)).ToArray());
     addPile(this.deck);
     init = new Pile(game, "Init", maxCount: 4);
     addPile(init);
     hand = new Pile(game, "Hand", maxCount: 10);
     addPile(hand);
     field = new Pile(game, "Field", maxCount: 7);
     addPile(field);
     grave = new Pile(game, "Grave");
     addPile(grave);
 }