private bool TryToSwitchToNiceHangman() { if (PossibleWordsBank.Count == 1) { NiceHangmanGame = new HangmanGame(PossibleWordsBank.First()); NiceHangmanGame.Start(); return(true); } return(false); }
private string GetPrintableWord(IHangmanGame hangmanGame) { var sb = new StringBuilder(); for (var i = 0; i < hangmanGame.WordLength; i++) { sb.Append(hangmanGame.GuessedLetter.TryGetValue(i, out var letter) ? letter.ToString() : "-"); } return(sb.ToString()); }
static void Main(string[] args) { TwangManSays("********************************************"); TwangManSays("* TWANGMAN - CONSOLE TEST *"); TwangManSays("********************************************"); TwangManSays("Give me a clue"); var initialClue = NumptySays(); try { Game = new HangmanGame(initialClue); ShowGameState(); do { if(Game.WrongGuesses.Any()) { TwangManSays(string.Format("I've already tried : {0}",string.Join(",",Game.WrongGuesses))); } TwangManSays(string.Format("I'm going to guess: {0}", Game.Guess())); TwangManSays("How did I do?"); var nextClue = NumptySays(); Game.Clue(nextClue); ShowGameState(); } while (!Game.IsOver); if(Game.HangmanLost) { TwangManSays("*** Congratulations - you beat me ***", ConsoleColor.Yellow); } else { TwangManSays(string.Format("I'm going to guess {0}",Game.Dictionary.Words.First()),ConsoleColor.Yellow); TwangManSays("Did I get it?", ConsoleColor.Yellow); } } catch (ArgumentException ex) { Game = null; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(string.Format("I don't understand your clue:{0}",ex.Message)); } Console.ReadKey(); }
public GameRoomServiceAsync(IHangmanRepositoryAsync <GameRoom> repository, IHangmanRepositoryAsync <GameRoomPlayer> repositoryGameRoomPlayer, IHangmanRepositoryAsync <GuessLetter> repositoryGuessLetter, IHangmanRepositoryAsync <GuessWord> repositoryGuessWord, IHangmanRepositoryAsync <GameRound> repositoryGameRound, IHangmanRepositoryAsync <Player> repositoryPlayer, ILogger <GameRoomServiceAsync> logger, IHangmanGame gameLogic, IMapper mapper ) { _repositoryGameRoomPlayer = repositoryGameRoomPlayer; _repositoryGuessLetter = repositoryGuessLetter; _repositoryGameRound = repositoryGameRound; _repositoryGuessWord = repositoryGuessWord; _repositoryPlayer = repositoryPlayer; _repository = repository; _gameLogic = gameLogic; _logger = logger; _mapper = mapper; }
public static string DrawHangman(IHangmanGame game) { var sb = new StringBuilder(); switch (game.RemainingGuesses) { case 0: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("| -|-"); sb.AppendLine(@"| / \"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 1: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("| -|-"); sb.AppendLine(@"| /"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 2: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("| -|-"); sb.AppendLine(@"|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 3: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("| -|"); sb.AppendLine("|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 4: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("| |"); sb.AppendLine( "|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 5: sb.AppendLine("____"); sb.AppendLine("|/ ¦"); sb.AppendLine("| 0"); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 6: sb.AppendLine("____"); sb.AppendLine("|/"); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; case 7: sb.AppendLine(" "); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("|"); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; default: sb.AppendLine(" "); sb.AppendLine(" "); sb.AppendLine(" "); sb.AppendLine(" "); sb.AppendLine(" "); sb.AppendLine("¨¨¨¨¨¨"); return sb.ToString(); break; } }
private string GetPrintableTriedLetters(IHangmanGame hangmanGame) { return(string.Join("", hangmanGame.TriedLetters.Distinct().OrderBy(x => x))); }
public HangmanController(IHangmanGame hangmanGame) { this.hangmanGame = hangmanGame; }