구현 목표

숫자 야구 게임은 3자라의 숫자를 맞추는 게임으로, 컴퓨터가 고른 숫자는 모두 다른 숫자로 이루어져 있다.
사용자는 3자리 숫자를 입력하고, 컴퓨터는 입력한 숫자와 자리수를 바교하여 스트라이크와 볼의 개수를 알려준다.

  • 스트라이크 : 숫자와 자리수가 모두 맞는 경우
  • 볼 : 숫자는 맞지만 자리수가 다른 경우

int[] targetNumber = { 2, 5, 6 };
int[] userGuess = new int[3];
int strikes;
int balls;
bool guessedCorrectly = false;
int cnt = 0;

while (!guessedCorrectly)
{
    strikes = 0;
    balls = 0;
    Console.WriteLine("Enter your guess (3 digits) : ");
    int num = int.Parse(Console.ReadLine());

    if(num < 100 || num > 999)
    {   //입력한 값이 세자리 수가 아닌 경우
        Console.WriteLine("Enter a 3 digit number. ");
        continue;
    }

    userGuess[0] = num / 100;   //100자리 수
    userGuess[1] = (num / 10) % 10; //10자리 수
    userGuess[2] = num % 10;    //1자리 수

    for(int i = 0; i < 3; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            if (targetNumber[i] == userGuess[j])
            {
                if(i == j)  //숫자, 자리수 둘 다 같은 경우
                {
                    strikes++;
                }
                else    //숫자만 같은 경우
                {
                    balls++;
                }
            }
        }
    }
    Console.WriteLine(strikes + " Strike(s), " + balls + " Ball(s)");
    cnt++;
    if(strikes == 3)
    {
        guessedCorrectly = true;
    }
}

Console.WriteLine("Congratulations! You've guess the number in " + cnt + " attemps.");

결과

image1

태그:

카테고리:

업데이트:

댓글남기기