private static string BattleRound(ICharacter char1, ICharacter char2, ICombatHandler combatHandler) { var attackResultsChar1 = AttackSequence(char1, char2, combatHandler); var attackResultsChar2 = AttackSequence(char2, char1, combatHandler); return(attackResultsChar1 + attackResultsChar2); }
public void SetUp() { _mockChar1 = new Mock <ICharacter>(); _mockChar2 = new Mock <ICharacter>(); _mockDice = new Mock <IDiceRoller>(); combatHandler = new CombatHandler(_mockDice.Object); _mockChar1.Setup(c => c.Strength).Returns(16); _mockChar2.Setup(c => c.Constitution).Returns(14); }
protected Unit(int x, int y, string name, ICombatHandler combatHandler,int range,int attackPoints, int healthPoints, int defensePoints, int energyPoints) { this.X = x; this.Y = y; this.Name = name; this.Range = range; this.AttackPoints = attackPoints; this.HealthPoints = healthPoints; this.DefensePoints = defensePoints; this.EnergyPoints = energyPoints; this.CombatHandler = combatHandler; }
public Mage(int x, int y, string name, int range, int attackPoints, int healthPoints, int defensePoints, int energyPoints, ICombatHandler combatHandler) { AttackPoints = 80; DefensePoints = 40; X = x; Y = y; Name = name; Range = 2; HealthPoints = 80; EnergyPoints = 120; CombatHandler = combatHandler; }
private static void BattleRound(ICharacter char1, ICharacter char2, ICombatHandler combatHandler, int roundNumber) { Console.WriteLine(); Console.WriteLine(string.Format("Round {0}", roundNumber)); Console.WriteLine(); ShowLife(char1); ShowLife(char2); Console.WriteLine(); AttackSequence(char1, char2, combatHandler); AttackSequence(char2, char1, combatHandler); }
protected Unit(int x, int y, string name, int range, int attackPoints, int healthPoints, int defensePoints, int energyPoints, ICombatHandler combatHandler, UnitType type) { X = x; Y = y; Name = name; Range = range; AttackPoints = attackPoints; HealthPoints = healthPoints; DefensePoints = defensePoints; EnergyPoints = energyPoints; CombatHandler = combatHandler; Type = type; }
private static void AttackSequence(ICharacter attacker, ICharacter defender, ICombatHandler combatHandler) { var damageTaken = combatHandler.GetAttackRoundDamage(attacker, defender); defender.TakeDamage(damageTaken); Console.WriteLine(string.Format("{0} attacks!", attacker.Name)); System.Threading.Thread.Sleep(1000); Console.WriteLine(combatHandler.LastAttackStatus); if (damageTaken > 0) { Console.WriteLine(string.Format("{0} has lost {1} life points.", defender.Name, damageTaken)); } Console.WriteLine(); }
private static void DoBattle(ICharacter char1, ICharacter char2, ICombatHandler combatHandler, int roundNumber) { while (combatHandler.AreCharactersAlive(char1, char2)) { roundNumber += 1; BattleRound(char1, char2, combatHandler); } if (char1.Life < 1) { PlayHeroDeathRattle(char1); } else { PlayVillainDeathRattle(char2); } }
protected Unit(int x, int y, string name, int attackPoints, int healthPoints, int defensePoints, int energyPoints, int range, ICombatHandler combatHandler) { this.X = x; this.Y = y; this.Name = name; this.HealthPoints = healthPoints; this.AttackPoints = attackPoints; this.DefensePoints = defensePoints; this.EnergyPoints = energyPoints; this.Range = range; this.CombatHandler = combatHandler; this.CombatHandler.Unit = this; }
private static string AttackSequence(ICharacter attacker, ICharacter defender, ICombatHandler combatHandler) { var damageTaken = combatHandler.GetAttackRoundDamage(attacker, defender); defender.TakeDamage(damageTaken); var sb = new StringBuilder(); sb.Append(string.Format("{0} attacks!", attacker.Name)); sb.Append("\n"); sb.Append(combatHandler.LastAttackStatus); if (damageTaken > 0) { sb.AppendLine(string.Format("{0} has lost {1} life points.", defender.Name, damageTaken)); } sb.Append("\n"); return(sb.ToString()); }
public Mage(int x, int y, string name, ICombatHandler combatHandler) : base(x, y, name, combatHandler, MageRange, MageAttackPoints, MageHealthPoints, MageDefensePoints, MageEnergyPoints) { }
public Warrior(int x, int y, string name, ICombatHandler combatHandler ) : base(x, y, name, combatHandler, WarriorRange, WarriorAttackPoints, WarriorHealthPoints, WarriorDefensePoints, WarriorEnergyPoints) { }
public MoveExecutioner(ICombatHandler combatHandler, IMovement movement) { _movement = movement; _combatHandler = combatHandler; }
public Engine(IInputReader reader, IOutputWriter writer, IBlobFactory blobFactory, IBehaviourFactory behaviourFactory, IAttackFactory attackFactory, ICombatHandler combataHandler) { this.Reader = reader; this.Writer = writer; this.BlobFactory = blobFactory; this.BehaviourFactory = behaviourFactory; this.AttackFactory = attackFactory; this.CombatHandler = combataHandler; this.CommandExecutor = new CommandExecutor(this); }
public IceGiant(int x, int y, string name, ICombatHandler combatHandler) : base(x, y, name, combatHandler, IceGiantRange, IceGiantAttackPoints, IceGiantHealthPoints, IceGiantDefensePoints, IceGiantEnergyPoints) { }
public void Setup() { layer = Substitute.For <ILayer>(); _combatHandler = new CombatHandler(); }