示例#1
0
    public void AddCodeGuess(Code codeGuess, CodeValidationResult codeValidationResult)
    {
        if (guesses.Count == boardSize)
        {
            throw new Exception("Tried to add new guess to a full board!");
        }
        var codeWithValidation = new CodeWithValidationResult(codeGuess, codeValidationResult);

        guesses.Add(codeWithValidation);
        GuessAddedEvent(codeWithValidation);
    }
    private void OnCodeGuessReady(Code codeGuess)
    {
        CodeValidationResult codeValidationResult = codeValidator.ValidateCode(codeGuess);

        board.AddCodeGuess(codeGuess, codeValidationResult);

        if (codeValidationResult.IsValid)
        {
            CodeBreakerVictory();
        }
        else if (board.IsFull)
        {
            CodeMakerVictory();
        }
        else
        {
            PlayRound();
        }
    }
示例#3
0
 public CodeWithValidationResult(Code code, CodeValidationResult validationResult)
 {
     this.code             = code;
     this.validationResult = validationResult;
 }