Example #1
0
        public void Excute(MasterMindGameTurn gameTurn)
        {
            bool iscorrect = true;

            if (_answerElementPosition?.Count > 0)
            {
                foreach (var item in _answerElementPosition)
                {
                    if (!gameTurn.CurrentPlayResult.Contains(item))
                    {
                        iscorrect = false;
                    }
                    else
                    {
                        if (!gameTurn.CurrentCorrectPlayResult.Contains(item))
                        {
                            gameTurn.CurrentCorrectPlayResult.Add(item);
                        }
                    }
                }
            }

            gameTurn.IsGuessAllTheNumber = iscorrect;

            if ((gameTurn.CurrentTries == gameTurn.MaxTries) || iscorrect)
            {
                gameTurn.ChangeState(new EndState());
            }

            ShowCurrentCorrectResult(gameTurn);
        }
Example #2
0
 public void Excute(MasterMindGameTurn gameTurn)
 {
     try
     {
         if (gameTurn.CurrentTries > gameTurn.MaxTries)
         {
             gameTurn.IsOverMaxTries = true;
             gameTurn.ChangeState(new EndState());
         }
         else
         {
             gameTurn.ChangeState(new GuessState());
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex.ToString());
     }
 }