#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 1~9 ์ฌ์ด ์ซ์ ํ๋๋ฅผ ์์ฑํ๋ n1, n2์๋ ๋ฌ๋ผ์ผ ํจ
int generateNumber(int n1, int n2) {
int num;
do {
num = rand() % 9 + 1;
} while (num == n1 || num == n2);
return num;
}
// โ1 ๋ฒ์งธ ์ซ์ (1~9): โ ์์ผ๋ก prompt ๋ฒํธ๋ฅผ ์ฐ๊ณ ์
๋ ฅ๋ฐ์ ๋ฐํ
int getInput(int prompt) {
int v;
printf("%d ๋ฒ์งธ ์ซ์ (1~9): ", prompt);
scanf("%d", &v);
return v;
}
// ์คํธ๋ผ์ดํฌยท๋ณผ์ ๊ณ์ฐํด ์ถ๋ ฅ, ์คํธ๋ผ์ดํฌ ๊ฐ์๋ง ๋ฐํ
int checkGuess(int com1, int com2, int com3,
int user1, int user2, int user3) {
int strike = 0, ball = 0;
// ์คํธ๋ผ์ดํฌ ํ์
if (user1 == com1) strike++;
if (user2 == com2) strike++;
if (user3 == com3) strike++;
// ๋ณผ ํ์
if ((user1 == com2 || user1 == com3) && user1 != com1) ball++;
if ((user2 == com1 || user2 == com3) && user2 != com2) ball++;
if ((user3 == com1 || user3 == com2) && user3 != com3) ball++;
printf("๊ฒฐ๊ณผ: %d ์คํธ๋ผ์ดํฌ, %d ๋ณผ\n\n", strike, ball);
return strike;
}
// ๊ฒ์์ ์ ์ฒด ํ๋ฆ ์ ์ด
void playGame(void) {
int com1, com2, com3;
int user1, user2, user3;
int rounds = 0, s;
// ์๋ก ๋ค๋ฅธ ์ธ ์ซ์ ์์ฑ
com1 = generateNumber(0, 0);
com2 = generateNumber(com1, 0);
com3 = generateNumber(com1, com2);
do {
rounds++;
// 1~3๋ฒ ์ซ์ ์
๋ ฅ, ์ค๋ณตยท๋ฒ์ ์ฒดํฌ
do {
user1 = getInput(1);
} while (user1 < 1 || user1 > 9);
do {
user2 = getInput(2);
} while (user2 < 1 || user2 > 9 || user2 == user1);
do {
user3 = getInput(3);
} while (user3 < 1 || user3 > 9
|| user3 == user1 || user3 == user2);
s = checkGuess(com1, com2, com3,
user1, user2, user3);
} while (s != 3);
printf("3 ์คํธ๋ผ์ดํฌ! ์ ๋ต์
๋๋ค! ์ด %d ๋ผ์ด๋ ๋ง์ ์ฑ๊ณต!\n", rounds);
}
int main(void) {
// ๋์ ์๋ ์ด๊ธฐํ (ํ ๋ฒ๋ง)
srand((unsigned)time(NULL));
printf("โพ ์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค!\n\n");
playGame();
return 0;
}