コード例 #1
0
        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");
            }
        }