public void RunBattle(Character.CharacterType userControlledCharacterType, string userControlledCharacterName, ICharacterController playerController) { _heroes = new HeroParty(this, _ai); _monsters = new MonsterParty(this, _ai); Character userControlledCharacter = _heroes[userControlledCharacterType]; userControlledCharacter.Initialize(this, playerController, userControlledCharacterName); int currentTurn = 1; do { DisplayMessage($"\n\tTurn {currentTurn} is about to start:", true); if (LetPartyAct(_heroes)) { break; } if (LetPartyAct(_monsters)) { break; } currentTurn++; } while (!IsGameFinished); if (_heroes.IsEverybodyDead()) { DisplayMessage("\n\tOh noes! The monsters won.\n"); } else { DisplayMessage("\n\tHurray! Your heroes won this battle!\n"); } }