コード例 #1
0
ファイル: Test1.cs プロジェクト: NCTUGDC/HearthStone
        public void Episode_StartGameWithDeckTestMethod1()
        {
            //開始一場空的遊戲 雙方牌組都依序放置1~6號卡1張 輪到1號玩家 玩家1換手牌 玩家2換手牌
            //雙方換完手牌 遊戲開始 1號玩家抽一張牌 法力水晶上限+1 並補滿法力水晶
            #region initial
            Game game          = GameSystemTestEnvironment.EmptyGame(1, 0);
            var  servantCards1 = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int>
            {
                1, 2, 3, 4, 5, 6
            });
            GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 1, servantCards1.Select(x => x.CardRecordID).ToList());
            var servantCards2 = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int>
            {
                1, 2, 3, 4, 5, 6
            });
            GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 2, servantCards2.Select(x => x.CardRecordID).ToList());
            #endregion

            #region operations
            game.GamePlayer1.ChangeHand(new int[0]);
            game.GamePlayer2.ChangeHand(new int[0]);
            #endregion

            #region game
            Assert.AreEqual(1, game.CurrentGamePlayerID);
            Assert.AreEqual(0, game.Field1.ServantCount);
            Assert.AreEqual(0, game.Field2.ServantCount);
            Assert.AreEqual(1, game.RoundCount);
            #endregion

            #region player1
            Assert.AreEqual(5, game.GamePlayer1.Deck.CardRecordIDs.Count());
            Assert.AreEqual(1, game.GamePlayer1.GamePlayerID);
            Assert.AreEqual(true, game.GamePlayer1.HasChangedHand);
            Assert.AreEqual(1, game.GamePlayer1.HandCardIDs.Count());
            Assert.AreEqual(1, game.GamePlayer1.ManaCrystal);
            Assert.AreEqual(1, game.GamePlayer1.RemainedManaCrystal);
            Assert.AreEqual(0, game.GamePlayer1.Hero.Attack);
            Assert.AreEqual(0, game.GamePlayer1.Hero.AttackCountInThisTurn);
            Assert.AreEqual(1, game.GamePlayer1.Hero.HeroID);
            Assert.AreEqual(30, game.GamePlayer1.Hero.HP);
            Assert.AreEqual(30, game.GamePlayer1.Hero.RemainedHP);
            Assert.AreEqual(0, game.GamePlayer1.Hero.WeaponCardRecordID);
            #endregion

            #region player2
            Assert.AreEqual(6, game.GamePlayer2.Deck.CardRecordIDs.Count());
            Assert.AreEqual(2, game.GamePlayer2.GamePlayerID);
            Assert.AreEqual(true, game.GamePlayer2.HasChangedHand);
            Assert.AreEqual(0, game.GamePlayer2.HandCardIDs.Count());
            Assert.AreEqual(0, game.GamePlayer2.ManaCrystal);
            Assert.AreEqual(0, game.GamePlayer2.RemainedManaCrystal);
            Assert.AreEqual(0, game.GamePlayer2.Hero.Attack);
            Assert.AreEqual(0, game.GamePlayer2.Hero.AttackCountInThisTurn);
            Assert.AreEqual(2, game.GamePlayer2.Hero.HeroID);
            Assert.AreEqual(30, game.GamePlayer2.Hero.HP);
            Assert.AreEqual(30, game.GamePlayer2.Hero.RemainedHP);
            Assert.AreEqual(0, game.GamePlayer2.Hero.WeaponCardRecordID);
            #endregion
        }
コード例 #2
0
ファイル: Test3.cs プロジェクト: NCTUGDC/HearthStone
        public void Episode_CastSpell_抽牌2_TestMethod1()
        {
            //開始一場空的遊戲 設定玩家1手牌"抽牌2"*1 牌組有CardID1~6的卡各1張 法力水晶10/10
            //輪到1號玩家 玩家1出"抽牌2"
            //確認手牌與法力水晶變化
            #region initial
            Game game       = GameSystemTestEnvironment.EmptyGame(1, 1);
            var  spellCards = GameSystemTestEnvironment.GameWithSpellCardRecordState(game, new List <int>
            {
                19
            });
            var servantCards = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int>
            {
                1, 2, 3, 4, 5, 6
            });
            GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 1, servantCards.Select(x => x.CardRecordID).ToList());
            GameSystemTestEnvironment.GameWithGamePlayerHandState(game, 1, new List <int> {
                spellCards[0].CardRecordID
            });
            GameSystemTestEnvironment.GameWithGamePlayerManaCrystalState(game, 1, 10, 10);
            #endregion

            #region game
            Assert.AreEqual(1, game.CurrentGamePlayerID);
            #endregion

            #region player1
            Assert.AreEqual(6, game.GamePlayer1.Deck.CardRecordIDs.Count());
            Assert.AreEqual(1, game.GamePlayer1.HandCardIDs.Count());
            Assert.AreEqual(10, game.GamePlayer1.ManaCrystal);
            Assert.AreEqual(10, game.GamePlayer1.RemainedManaCrystal);
            #endregion

            #region operations 玩家1出"抽牌1"
            Assert.IsTrue(game.NonTargeCasttSpell(1, spellCards[0].CardRecordID));
            #endregion

            #region game
            Assert.AreEqual(1, game.CurrentGamePlayerID);
            #endregion

            #region player1
            Assert.AreEqual(3, game.GamePlayer1.Deck.CardRecordIDs.Count());
            Assert.AreEqual(3, game.GamePlayer1.HandCardIDs.Count());
            Assert.AreEqual(10, game.GamePlayer1.ManaCrystal);
            Assert.AreEqual(5, game.GamePlayer1.RemainedManaCrystal);
            int[] handCardIDs = game.GamePlayer1.HandCardIDs.ToArray();
            Assert.AreEqual(handCardIDs[0], servantCards[0].CardRecordID);
            Assert.AreEqual(handCardIDs[1], servantCards[1].CardRecordID);
            Assert.AreEqual(handCardIDs[2], servantCards[2].CardRecordID);
            #endregion
        }