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); }
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()); } }