Example #1
0
        public static void StartCombat(int turns, Attackers attackers, Defenders defenders)
        {
            attackers.ResetCemitery();
            defenders.ResetCemitery();

            if (defenders.Units.Count > 0 && attackers.Units.Count > 0)
            {
                Unit defender = null;
                Unit attacker = null;

                int i = 1;
                while (i < turns && defenders.Units.Count + defenders.Heroes.Count > 0 && attackers.Units.Count + attackers.Heroes.Count > 0)
                {
                    HeroesAction(i, attackers, defenders);

                    if (defenders.Units.Count > 0 && attackers.Units.Count > 0)
                    {
                        attacker = attackers.CurrentUnit;
                        defender = defenders.CurrentUnit;

                        attackers.CurrentUnit.Fight(defender);

                        defenders.Units.RemoveAt(0);
                        attackers.Units.RemoveAt(0);

                        if (defender.Life > 0)
                            defenders.Units.Add(defender);
                        else
                            defenders.BuryUnit(defender);

                        if (attacker.Life > 0)
                            attackers.Units.Add(attacker);
                        else
                            attackers.BuryUnit(attacker);

                        Combat.Log.Add("<br />");
                    }
                    i++;
                }
            }
        }