Exemplo n.º 1
0
 /// <summary>Checks if entered number is integer, if not then number should be entered again.</summary>
 /// <returns></returns>
 private int InputCheck()
 {
     while (true)
     {
         if (!int.TryParse(io.ReadInput(), out int enteredNum))
         {
             io.WriteOutput(phraseProvider.GetPhrase("Incorrect"));
         }
         else
         {
             return(selectedNum = enteredNum);
         }
     }
 }
Exemplo n.º 2
0
        public void RunSort(Func <ReadOnlyCollection <int>, ReadOnlyCollection <int> > action)
        {
            try{
                int numberCount = inputOutputHandler.PromptUserForNumber("Enter the how many numbers that will be sorted:");
                ReadOnlyCollection <int> originalNumbers = inputOutputHandler.BuildNumbersArray(numberCount);
                ReadOnlyCollection <int> sortedNumbers   = action(originalNumbers);

                inputOutputHandler.OutputNumbers("Before: ", originalNumbers);
                inputOutputHandler.OutputNumbers("After: ", sortedNumbers);
            }catch (Exception ex) {
                inputOutputHandler.Output($"Error occurred {ex.Message}");
            }

            inputOutputHandler.Output("Press any key to quit the application.");
            inputOutputHandler.ReadInput();
        }
Exemplo n.º 3
0
        public void RunSearch(Func <int, ReadOnlyCollection <int>, int> action)
        {
            try{
                int numberCount = inputOutputHandler.PromptUserForNumber("Enter the how many numbers that will be searched:");
                ReadOnlyCollection <int> originalNumbers = inputOutputHandler.BuildNumbersArray(numberCount);
                int desiredNumber = inputOutputHandler.PromptUserForNumber("Enter the desired number to be found:");
                int result        = action(desiredNumber, originalNumbers);

                if (result == -1)
                {
                    inputOutputHandler.Output("Number not found.");
                }
                else
                {
                    inputOutputHandler.Output($"Number found at index: {result}");
                }
            }catch (Exception ex) {
                inputOutputHandler.Output($"Error occurred {ex.Message}");
            }

            inputOutputHandler.Output("Press any key to quit the application.");
            inputOutputHandler.ReadInput();
        }
Exemplo n.º 4
0
        private bool GeneralMenu()
        {
            string userInput;

            inputOutputModule.ClearMenu();
            inputOutputModule.WriteOutput(phraseProvider.GetPhrase(gameSettings.LangPackName, KeysForPhrases.GeneralReg));
            inputOutputModule.WriteOutput(phraseProvider.GetPhrase(gameSettings.LangPackName, KeysForPhrases.GeneralTrade));
            inputOutputModule.WriteOutput(phraseProvider.GetPhrase(gameSettings.LangPackName, KeysForPhrases.GeneralShow));
            inputOutputModule.WriteOutput(gameSettings.ExitButton);
            inputOutputModule.WriteOutput(phraseProvider.GetPhrase(gameSettings.LangPackName, KeysForPhrases.ExitKey));

            userInput = inputOutputModule.ReadInput();

            if (userInput == "1")
            {
                Registration();
            }

            if (userInput == "2")
            {
                Trading();
            }

            if (userInput == "3")
            {
                for (bool i = true; i;)
                {
                    i = ShowInfoMenu();
                }
            }

            if (userInput == gameSettings.ExitButton)
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 5
0
        public void Run()
        {
            bool             exit = false;
            string           userInput;
            InputCheckResult checkResult;

            if (gameSettings == null)
            {
                return;
            }
            if (TestLangPack() == false)
            {
                return;
            }

            try
            {
                ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.Intro, gameSettings.LangPackName));
            }
            catch (ArgumentException ex)
            {
                ioModule.WriteOutput(ex.Message);
                return;
            }
            ShowInfo();

            while (!CheckWinCondition() && !exit)
            {
                string enterThisNum = phraseProvider.GetPhrase(KeysForPhrases.EnterNumber, gameSettings.LangPackName);
                foreach (int number in doorNumbersHolder)
                {
                    enterThisNum = enterThisNum + number + " ";
                }
                enterThisNum = enterThisNum + Environment.NewLine;
                ioModule.WriteOutput(enterThisNum);

                userInput = ioModule.ReadInput();
                if (string.IsNullOrEmpty(userInput))
                {
                    ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.InvalidInput, gameSettings.LangPackName));
                    continue;
                }
                checkResult = CheckIfInputIsValid(userInput);

                switch (checkResult)
                {
                case InputCheckResult.Invalid:
                {
                    ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.InvalidInput, gameSettings.LangPackName));
                    continue;
                }

                case InputCheckResult.Exit: { exit = true; break; }

                case InputCheckResult.Info: { ShowInfo(); break; }

                case InputCheckResult.Valid:
                {
                    NumbersChanger(userInput);
                    break;
                }
                }
            }

            if (CheckWinCondition())
            {
                ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.Win, gameSettings.LangPackName));
            }

            ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.Goodbye, gameSettings.LangPackName));
            ioModule.WriteOutput(phraseProvider.GetPhrase(KeysForPhrases.CloseProg, gameSettings.LangPackName));

            ioModule.ReadKey();
        }