Example #1
0
        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);
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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));
                }
            }
        }
Example #4
0
        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);
        }