示例#1
0
        public void Mastermind(IGame game)
        {
            _consoleDisplayService.DisplayOutput(Constant.WelcomeInstructions);

            var hints = Enumerable.Empty <HintColour>();

            game.SetComputerPlayersCode();

            while (IsNotWinningCombination(hints))
            {
                _consoleDisplayService.DisplayOutput(_guessCounter.GetRemainingGuessMessage());

                if (_guessCounter.IsGuessLimitExceeded())
                {
                    _consoleDisplayService.ExitApplication();
                }

                hints = game.Check(_inputProcessor.GetUsersColourGuess());

                _guessCounter.IncrementCount();

                _consoleDisplayService.DisplayOutput(_messageFormatter.GetHintMessage(hints));
            }
        }