/// <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); } } }
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(); }
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(); }
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); }
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(); }