예제 #1
0
        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++;
                }
            }
        }
예제 #2
0
        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("[종료]");
        }