Beispiel #1
0
        public GameAnalysisModel Analyze(GameStateModel stateModel)
        {
            var state = _game.CreateState(stateModel.Word);

            _game.State = state;
            var analysis      = _player.Analyse(_game);
            var analysisModel = new GameAnalysisModel(analysis);

            return(analysisModel);
        }
Beispiel #2
0
 private void TakeNoteOfWinner(GameAnalysisModel analysis)
 {
     if (analysis.HasWinner)
     {
         Game.Winner = analysis.Winner == 0 ? Game.Player.Name : "Computer";
         var message = Regex.Replace(analysis.Explanation, "player 1", (match => "Computer"), RegexOptions.IgnoreCase);
         message = Regex.Replace(message, "player 0", (match => Game.Player.Name), RegexOptions.IgnoreCase);
         Game.WinnerExplanation = string.Format("{0}. So, {1} player has won", message, Game.Winner);
     }
 }
Beispiel #3
0
 private void ApplyComputerMove(GameStateModel newState, GameAnalysisModel analysis)
 {
     if (Game.Word.Length < newState.Word.Length)
     {
         var lastLetter = newState.Word.Substring(newState.Word.Length - 1, 1);
         Game.Moves.Add(lastLetter);
         Game.Word             = newState.Word;
         Game.ComputerLastMove = newState.Word;
         var message = Regex.Replace(analysis.Help, "player 1", (match => "I"), RegexOptions.IgnoreCase);
         message = Regex.Replace(message, "player 0", (match => "you"), RegexOptions.IgnoreCase);
         Game.ComputerLastMoveExplanation = string.Format("{0}. So, I have played the letter '{1}'", message, lastLetter);
     }
 }
Beispiel #4
0
 public void Reset(GameAnalysisModel analysis = null)
 {
     Player.NumberOfGames = Player.NumberOfGames + 1;
     if (analysis != null)
     {
         Player.NumberOfVictories = analysis.Winner == 0 ? Player.NumberOfVictories + 1 : Player.NumberOfVictories;
     }
     NewMove                     = "";
     Moves                       = new List <string>();
     Word                        = "";
     ComputerLastMove            = "";
     ComputerLastMoveExplanation = "";
     Winner                      = "";
     WinnerExplanation           = "";
 }