public void guess_should_be_invalid() { var h = new Core.Hangman("Sommar", 6); GuessResult result = h.Guess("ma"); Assert.AreEqual(GuessResult.InvalidGuess, result); result = h.Guess("."); Assert.AreEqual(GuessResult.InvalidGuess, result); }
public void guess_should_be_AlreadyGuessed() { //only to add the letter M to the Hashmap before the test var h = new Core.Hangman("Sommar", 6); GuessResult result = h.Guess("M"); Assert.AreEqual(GuessResult.CorrectGuess, result); //the actual "AlreadyGuessed test" result = h.Guess("M"); Assert.AreEqual(GuessResult.AlreadyGuessed, result); }
static void Main(string[] args) { Console.WriteLine("Welcome to hangman!"); var hangman = new Core.Hangman("MAMMA", 3); Console.Write("Your guess: "); string guess = Console.ReadLine(); /* * M ==> Correct * A ==> Correct * MM ==> Invalid # ==> Invalid # Q ==> Wrong # ==> AlreadyGuessed # */ var result = hangman.Guess(guess); if (result == Core.GuessResult.IncorrectGuess) { Console.WriteLine("Incorrect!"); } else if (result == Core.GuessResult.AlreadyGuessed) { Console.WriteLine("You've already guessed that letter"); } }
public void guess_should_be_correct() { var h = new Core.Hangman("Sommar", 6); GuessResult result = h.Guess("M"); Assert.AreEqual(GuessResult.CorrectGuess, result); }
static void Main(string[] args) { _hangman = new Core.Hangman(GenerateARandomWord(), 6); while (_hangman.KeepPlaying) { PrintLivesLeft(); PrintAllCorrectCharacters(); PrintGuesses(); Console.Write("Your guess: "); string guess = Console.ReadLine(); var result = _hangman.Guess(guess.ToUpper()); switch (result) { case Core.GuessResult.InvalidGuess: { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Invalid input!"); break; } case Core.GuessResult.IncorrectGuess: { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Incorrect Guess!"); break; } case Core.GuessResult.AlreadyGuessed: { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("You've already guessed that letter"); break; } default: { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Correct Guess"); break; } } Console.ResetColor(); WaitForUserInput(); Console.ReadLine(); Console.Clear(); } PrintingTheEndOfTheGame(); }
// todo: går det att extrahera metoder ur denna? // todo: metoder 1-7 långa // todo: metoderna ska beskriva sig själva // OO: This method starts to look really nice :) static private void RunGame() { string wordToGuess = GenerateRandomWord.RandomWord(); Console.WriteLine("\nHint: " + wordToGuess); // Hint during development WaitForUserToContinue(); // Create an instanse of Hangman Core.Hangman hangman = new Core.Hangman(wordToGuess, numberOfGuesses); while (!hangman.GameEnded()) { DisplayHangmanGame(hangman); string input = GetGuessFromUser(); GuessResult result = hangman.Guess(input); switch (result) { case GuessResult.AlreadyGuessed: DisplayIncorrectMessage($"You have already guessed '{input.ToUpper()}'"); break; case GuessResult.CorrectGuess: DisplayCorrectMessage("Correct"); break; case GuessResult.IncorrectGuess: DisplayIncorrectMessage("Wrong"); break; case GuessResult.InvalidGuess: DisplayIncorrectMessage("Invalid guess"); break; } if (!hangman.GameEnded()) { WaitForUserToContinue(); } } DisplayHangmanGame(hangman); if (hangman.GuessesLeft == 0) { DisplayIncorrectMessage("You lost!"); } else { DisplayCorrectMessage("You won!"); } }