콘솔창 & 윈도우창

야구 게임

게임 개발 2024. 7. 8. 11:48
int main(void)
{
    int inputArr[3];
    int answerArr[3];
    bool compareNum[3];
    bool comparePosition = false;
    int strike = 0, ball = 0;
    srand(time(NULL));

    for (int i = 0; i < 3; i++)
    {
        answerArr[i] = rand() % 9 + 1;
    }

    printf("\n야구 게임을 시작합니다!\n\n");
    printf("\n정답 공 : ");
    
    for (int i = 0; i < 3; i++)
    {
        printf("%3d", answerArr[i]);
    }
    printf("\n");

    while (true)
    {
        for (int i = 0; i < 3; i++)
        {
            compareNum[i] = false;
        }
        comparePosition = false;

        printf("\n1~9까지의 양의 정수 3개를 입력해주세요 : ");
        scanf("%d%d%d", &inputArr[0], &inputArr[1], &inputArr[2]);

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                if (inputArr[i] == answerArr[j])
                    compareNum[i] = true;
            }
            if (inputArr[i] != answerArr[i])
                comparePosition = true;
        }

        if (!comparePosition)
        {
            printf("homerun!");
            printf("\n게임이 종료되었습니다!\n\n");
            break;
        }

        for (int i = 0; i < 3; i++)
        {
            if (compareNum[i])
            {
                if (inputArr[i] == answerArr[i])
                    strike++;
                else
                    ball++;
            }
        }

        if (strike == 0 && ball == 0)
        {
            printf("\n\nOut!");

        }

        printf("%ds %db\n\n", strike, ball);

        strike = 0;
        ball = 0;
    }

    
    return 0;
}