コード例 #1
0
ファイル: Combatant.cs プロジェクト: neraath/YeOldeTdd
        public virtual void Attack(IBattlefieldEntity enemy)
        {
            if (enemy == null) throw new ArgumentNullException("enemy");

            if (enemy.IsAlive && this.weapon != null)
            {
                enemy.Health -= this.weapon.CalculateDamage();
                enemy.WasAttacked = true;
            }
        }
コード例 #2
0
ファイル: ArmyTests.cs プロジェクト: neraath/YeOldeTdd
 private void StubCombatantAttacksOpponent(IBattlefieldEntity enemy)
 {
     enemy.Health--;
 }
コード例 #3
0
ファイル: FakeCombatant.cs プロジェクト: neraath/YeOldeTdd
 public virtual void Attack(IBattlefieldEntity enemy)
 {
     this.HasAttacked = true;
     enemy.Health--;
 }
コード例 #4
0
ファイル: Army.cs プロジェクト: neraath/YeOldeTdd
        public void Attack(IBattlefieldEntity enemy)
        {
            if (enemy == null) throw new ArgumentNullException("enemy");
            if (this.combatantFactory == null) throw new InvalidOperationException("No combatant factory to create combatants.");

            // Select a random combatant.
            ICombatant randomCombatant = this.combatantFactory.CreateRandomCombatant("My Random Combatant");
            randomCombatant.Attack(enemy);
        }