コード例 #1
0
        static void RenderSet(WordGame game, int maxGuesses)
        {
            Console.Clear();
            Console.WriteLine($"{game.VisibleWord}");
            var guessed = string.Join(' ', game.IncorrecteGuesses);

            Console.WriteLine(guessed);


            if (game.GameOver)
            {
                if (game.Solved)
                {
                    Console.WriteLine($"Congratulations, you win!");
                }
                else
                {
                    Console.WriteLine($"You lose!\n" +
                                      $"The word was: {game.WholeWord}");
                }
            }
            else
            {
                var left = maxGuesses - game.TotalGuesses;
                if (left == 1)
                {
                    Console.WriteLine("Last guess! Make it count");
                }
                else
                {
                    Console.WriteLine($"{left} guesses left..");
                }
            }
        }
コード例 #2
0
        static bool GameLoop(string word)
        {
            var secret = new SecretWord(word);
            var game   = new WordGame(secret, 10);

            RenderSet(game, 10);
            while (game.GameOver == false)
            {
                Console.WriteLine("Guess a letter or the whole word");
                var input = Console.ReadLine();
                if (input.Length == 1f && game.MakeAGuess(input[0]))
                {
                }
                else if (input.Length > 1)
                {
                    game.MakeAGuess(input);
                }
                else if (input.Length > 0)
                {
                    if (WordGame.IsValidCharacter(input[0]))
                    {
                        Console.WriteLine("Cannot guess the same letter twice.");
                    }
                    else
                    {
                        Console.WriteLine("Only letters a-z is accepted");
                    }
                    Console.ReadKey(true);
                }

                RenderSet(game, 10);
            }
            return(game.Solved);
        }