public void Calculate(Answer answer, Guess guess) { for (int i = 0; i < Constant.Digit; i++) { int j = (i + 1) % Constant.Digit; int k = (i + 2) % Constant.Digit; if (guess[i] == answer[i]) { _strike++; } else if (guess[i] == answer[j] || guess[i] == answer[k]) { _ball++; } else { _out++; } } }
static void Main(string[] args) { // TDD (Test-Driven Development) // 1. 정답을 생성한다. Answer answer = new Answer(); answer.Generate(); answer.Print(); while (true) { // 2. 추측을 입력받는다 Guess guess = new Guess(); guess.Input(); guess.Print(); // 3. 정답과 추측을 비교하여 결과를 판정한다. Result result = new Result(); result.Calculate(answer, guess); // 4. 결과를 출력한다. // string interpolation (문자열 내삽) Console.WriteLine(result); // 5. 정답과 추측이 일치하지 않으면, 2번으로 돌아간다 if (result.IsCorrect()) { break; } } Console.WriteLine("[종료]"); }