public static bool RunFight(Fighter fighter1, Fighter fighter2) //return true if 1 wins { bool FIGHT = true; Random roll = new Random(); fighter1.FullHeal(); fighter2.FullHeal(); while (FIGHT) { bool OneHitsFirst = (roll.NextDouble() > .5)?true:false; if (OneHitsFirst) { fighter2.BeAttacked(fighter1.Attack, fighter1.Damage, fighter1.APDamage, fighter1.Sunder); if (fighter2.HP <= 0) { FIGHT = false; break; } fighter1.BeAttacked(fighter2.Attack, fighter2.Damage, fighter2.APDamage, fighter2.Sunder); if (fighter1.HP <= 0) { FIGHT = false; } continue; } fighter1.BeAttacked(fighter2.Attack, fighter2.Damage, fighter2.APDamage, fighter2.Sunder); if (fighter1.HP <= 0) { FIGHT = false; break; } fighter2.BeAttacked(fighter1.Attack, fighter1.Damage, fighter1.APDamage, fighter1.Sunder); if (fighter2.HP <= 0) { FIGHT = false; } //Console.WriteLine("{0}:{1} {2}:{3}", fighter1.Name, fighter1.HP, fighter2.Name, fighter2.HP); } Console.WriteLine("{0}:{1} {2}:{3}", fighter1.Name, Math.Truncate(fighter1.HP), fighter2.Name, Math.Truncate(fighter2.HP)); if (fighter2.HP <= 0) { return(true); } return(false); }