#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
int p, p2, i,a=0; // 자리수 선택
int st=0, ba=0; // 스트라이크, 볼
int arr[10], n[10]; // 컴퓨터 숫자 저장, 입력 숫자 저장 배열
srand((int)time(NULL));
main:
printf("야구 게임 자리수 입력 : ");
scanf_s("%d", &p);
if (p >= 11) {
printf("10이하의 숫자를 입력하세요.\n\n");
goto main;
}
/* 컴퓨터 숫자 입력 */
for (p2 = 0; p2 < p; p2++) {
again:
arr[p2] = rand() % 10;
if (p2 >= 1) {
for (i = 0; i < p2; i++) { // 값의 중복 제거
if (arr[i] == arr[p2])
goto again;
}
}
}
printf("\n## Game Start ##\n\n");
g:
printf("숫자 %d개 입력 : ", p);
for (p2 = 0; p2 < p; p2++) {
scanf_s("%d", &n[p2]);
}
/* 숫자 비교
숫자를 하나씩 비교하고 위치와 값이 같으면 st
값만 같으면 ba */
st = 0, ba = 0;
for (i = 0; i < p; i++) {
for (p2 = 0; p2 < p; p2++) {
if (arr[i] == n[p2]) {
if (i == p2) {
st++;
}
else
ba++;
}
}
}
a++; // 시도 횟수 증가
printf("결과 : %d strike, %d ball\n", st, ba);
if (st == p) { //게임 끝 or 다시 숫자 입력으로 돌아감
printf("\n★★★ Game Over ★★★\n\n정답 : ");
for (p2 = 0; p2 < p; p2++) {
printf("%d", arr[p2]);
}
}
else
goto g;
printf("\n%d번 시도했음\n", a);
printf("\n");
system("pause");
}