Straight Fight

Straight Fight

...despite all of the tactical measures that have been undertaken, neither side still hasn’t had a victory. Therefore, the two army commanders decided to change tactics and immediately arrange a battle where all survived soldiers of one armie will be fighting all of the survivors of the other.

A new unit type won’t be added in this mission, but instead we’ll add a new tactic - straight_fight(army_1, army_2). It should be the method of the Battle class and it should work as follows:
at the beginning there will be a few duels between each pair of soldiers from both armies (the first unit against the first, the second against the second and so on). After that all dead soldiers will be removed and the process repeats until all soldiers of one of the armies will be dead. Armies might not have the same number of soldiers. If a warrior doesn’t have an opponent from the enemy army - we’ll automatically assume that he’s won a duel (for example - 9th and 10th units from the first army, if the second has only 8 soldiers).

It's very important to note that the special abilities of the Lancer and Healer do not work in a straight fight - nobody is standing in front of or behind any of their allies, so there's nobody for the Lancer to deal extra damage to or the Healer to heal.

example

Example:

chuck = Warrior()
bruce = Warrior()
carl = Knight()
dave = Warrior()
mark = Warrior()
bob = Defender()
mike = Knight()
rog = Warrior()
lancelot = Defender()
eric = Vampire()
adam = Vampire()
richard = Defender()
ogre = Warrior()
freelancer = Lancer()
vampire = Vampire()
priest = Healer()

assert fight(chuck, bruce)...
You should be an authorized user in order to see the full description and start solving this mission.