[C#]숫자 야구 게임 구현
구현 목표
숫자 야구 게임은 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.");
댓글남기기