private static bool SelectLetter(AvailableLetters availableLetters) { Console.Clear(); DisplayCategoryAndPassword(); Console.WriteLine("Choose from these letter:"); Console.WriteLine(availableLetters.GetAvailableLetters()); char chooseKey = char.ToUpper(Console.ReadKey(true).KeyChar); availableLetters.CheckAndRemoveLetterFromAvailableLetters(chooseKey); Console.WriteLine(); var howManyLetter = _letterInPassword.HowManyUserLetterInPassword(chooseKey, _randomPassword); Console.WriteLine($"There is {howManyLetter} '{chooseKey}' hidden in password."); _secretPassword = _displayPasswod.DisplayPasswordFromHide(_secretPassword, chooseKey, _randomPassword); Console.WriteLine(_secretPassword); Console.WriteLine(); Console.ReadKey(); var isWin = _checkUserPassword.ComparePasswords(_secretPassword, _randomPassword); if (isWin) { DisplayYouWon(); Console.ReadKey(); return(false); } else { return(true); } }
private static void PlayGame() { if (_puzzleRepository.NumberOfPuzzles() != 0) { var availableLetters = new AvailableLetters(); var puzzle = _puzzleRepository.RandomPuzzleFromRepository(); _randomPassword = puzzle.Password; _randomCategory = puzzle.Category; _secretPassword = _hidepassword.ChangeToSecretPassword(_randomPassword); ConsoleKeyInfo optionGameMenuKey; bool playIsOn = true; do { DisplayCategoryAndPassword(); DisplayPlayOption(); optionGameMenuKey = Console.ReadKey(true); switch (optionGameMenuKey.Key) { case ConsoleKey.D1: playIsOn = SelectLetter(availableLetters); break; case ConsoleKey.D2: playIsOn = GuessPassword(); break; case ConsoleKey.D3: break; default: Console.WriteLine("Wrong option."); break; } if (playIsOn == false) { break; } }while (optionGameMenuKey.Key != ConsoleKey.D3); } else { Console.Clear(); Console.WriteLine("Sorry, ther is no puzzles in memory"); Console.ReadKey(); } }
static LetterBag() { AddLetters('A', 9, 1); AddLetters('B', 2, 3); AddLetters('C', 2, 3); AddLetters('D', 4, 2); AddLetters('E', 12, 1); AddLetters('F', 2, 4); AddLetters('G', 3, 2); AddLetters('H', 2, 4); AddLetters('I', 9, 1); AddLetters('J', 1, 8); AddLetters('K', 5, 5); AddLetters('L', 4, 1); AddLetters('M', 2, 3); AddLetters('N', 6, 1); AddLetters('O', 8, 1); AddLetters('P', 2, 3); AddLetters('Q', 1, 10); AddLetters('R', 6, 1); AddLetters('S', 4, 1); AddLetters('T', 6, 1); AddLetters('U', 4, 1); AddLetters('V', 2, 4); AddLetters('W', 2, 4); AddLetters('X', 1, 8); AddLetters('Y', 2, 4); AddLetters('Z', 1, 10); // Shuffle the collection AvailableLetters = AvailableLetters.OrderBy(x => new Random().Next()).ToList(); void AddLetters(char letter, int amount, int points) { for (var i = 0; i < amount; i++) { AvailableLetters.Add(new Letter(letter, points)); } } }
public void GetGuess() { char letter; do { Console.WriteLine(); Console.Write("place give me a char: "); letter = Console.ReadKey().KeyChar; if (letter == Convert.ToChar(":")) { ResetGame(); } } while (!CorrectInput(letter)); Console.WriteLine(); letter = char.ToLower(letter); AvailableLetters.Remove(letter); GuessLetters.Add(letter); }