/// <summary> /// Simulates the battle between the attacking army and the defending army and returns the result. /// </summary> /// <param name="attacker">The attacking army.</param> /// <param name="defender">The defending army.</param> /// <param name="hitSelector">The <see cref="IHitSelector"/> to use when taking causualties.</param> /// <returns>A <see cref="BattleResult"/> representing the result of the battle.</returns> public static BattleResult Calculate(Army attacker, Army defender, IHitSelector hitSelector) { return new BattleSimulator(attacker, defender, hitSelector).Simulate(); }
/// <summary> /// Constructs a new <see cref="BattleSimulator"/> with the given attacking/defending armies and hit selector. /// </summary> /// <param name="attacker">The attacking army.</param> /// <param name="defender">The defending army.</param> /// <param name="hitSelector">The <see cref="IHitSelector"/> to use when taking causualties.</param> public BattleSimulator(Army attacker, Army defender, IHitSelector hitSelector) { Attacker = attacker; Defender = defender; HitSelector = hitSelector; }