示例#1
0
        public void CheckDieOptionDefenderFalse()
        {
            var territory = new Territory
            {
                Armies = 1
            };

            var result = BattleBuilder.CheckDieOption(2, "defender", territory);

            Assert.IsFalse(result);
        }
示例#2
0
        public void CheckDieOptionDefenderSecondConditionTrue()
        {
            var territory = new Territory
            {
                Armies = 1
            };

            var result = BattleBuilder.CheckDieOption(1, "defender", territory);

            Assert.IsTrue(result);
        }
示例#3
0
        public void CheckDieOptionAttackerFalse()
        {
            var territory = new Territory
            {
                Armies = 3
            };

            var result = BattleBuilder.CheckDieOption(3, "attacker", territory);

            Assert.IsFalse(result);
        }
示例#4
0
        public void CheckBattleRollOptions()
        {
            var attack = new Attack();

            attack.AttackDiceCount = 3;
            attack.DefendDiceCount = 1;

            BattleBuilder.BattleRollOptions(attack);

            Assert.IsTrue(attack.AttackDice1 != 0 && attack.AttackDice2 != 0 && attack.AttackDice3 != 0 &&
                          attack.DefendDice1 != 0);
        }
示例#5
0
        public void WhenBuildingBattle_ReturnValidBattle()
        {
            var builder  = new BattleBuilder();
            var director = new BattleDirector();

            director.Build(builder);

            var battle = builder.Build();

            battle.Should().BeOfType <Battle>();
            battle.Arena.Should().NotBeNull();
            battle.BattleSystem.Should().BeOfType <ConditionalTurnBasedBattle>();
            battle.Mob.Should().NotBeNull();
            battle.Party.Should().NotBeNull();
            battle.ProgressionSystem.Should().BeOfType <SphereGrid>();
        }
示例#6
0
        public void WhenBuildingBattle_ReturnValidBattle()
        {
            var builder  = new BattleBuilder();
            var director = new BattleDirector();

            director.Build(builder);

            var battle = builder.Build();

            battle.Should().BeOfType <Battle>();
            battle.AggroedEnemies.Should().NotBeNull();
            battle.BattleSystem.Should().BeOfType <RealTimeBattle>();
            battle.Map.Should().NotBeNull();
            battle.Player.Should().NotBeNull();
            battle.ProgressionSystem.Should().BeOfType <ActivityBasedProgression>();
        }
示例#7
0
    private Battle CreateExampleBattle()
    {
        BattleBuilder builder = new BattleBuilder();

        builder.AddLeft(GetKnights(), 0);
        builder.AddLeft(GetSwordsmen(), 0);
        builder.AddLeft(GetKnights(), 0);
        builder.AddLeft(GetSlinger(), 1);
        builder.AddLeft(GetSlinger(), 1);
        builder.AddLeft(GetLongbowmen(), 1);
        builder.AddLeft(GetLongbowmen(), 1);
        builder.AddLeft(GetCatapults(), 2);

        builder.AddRight(GetSwordsmen(), 0);
        builder.AddRight(GetPikemen(), 0);
        builder.AddRight(GetSwordsmen(), 0);
        builder.AddRight(GetOgres(), 0);
        builder.AddRight(GetCrossbowmen(), 1);
        builder.AddRight(GetCrossbowmen(), 1);
        builder.AddRight(GetDragon(), 2);
        builder.AddRight(GetBalista(), 2);
        return(builder.ToBattle());
    }
示例#8
0
 private static BattleLogic MakeBattleLogic(BattleController battleController)
 {
     return(BattleBuilder.Build(MakeBattleInfo(battleController)));
 }