#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 1~9 μ¬μ΄μμ n1, n2μ λ€λ₯Έ λμ μμ±
int generateNumber(int n1, int n2) {
int n;
do {
n = rand() % 9 + 1; // 1~9 μ¬μ΄ λμ
} while (n == n1 || n == n2);
return n;
}
/*int generateNumber(int num1, int num2){
int randnum;
while(1){
randnum = rand() % 9 + 1;
if(randnum != num1 && randnumn != num2){
break;
}
}
return randnum;
}*/
// μ¬μ©μ μ
λ ₯ λ°κΈ° (1~9 μ¬μ΄ μ«μ)
int getInput(int prompt) {
int num;
printf("%d λ²μ§Έ μ«μ (1~9): ", prompt);
scanf("%d", &num);
return num;
}
// μ»΄ν¨ν°μ μ¬μ©μ μ
λ ₯ λΉκ΅ ν κ²°κ³Ό μΆλ ₯ λ° μ€νΈλΌμ΄ν¬ μ λ°ν
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) ball++;
if (user2 == com1 || user2 == com3) ball++;
if (user3 == com1 || user3 == com2) ball++;
printf("κ²°κ³Ό: %d μ€νΈλΌμ΄ν¬, %d λ³Ό\n", strike, ball);
return strike;
}
//κ²μ 본체
void playGame(){
int com1, com2, com3;
int user1, user2, user3;
int round = 0;
com1 = generateNumber(0,0);
com2 = generateNumber(com1,0);
com3 = generateNumber(com1,com2);
printf("βΎ μ«μ μΌκ΅¬ κ²μμ μμν©λλ€!\n");
while(1){
user1 = getInput(1);
user2 = getInput(2);
user3 = getInput(3);
if(user1 < 1 || user1 > 9 || user2 < 1 || user2 > 9 || user3 < 1 || user3 > 9){
printf("1~9μ¬μ΄ μ«μλ§ μ
λ ₯νμΈμ.\n");
continue;
}
if (user1 == user2 || user1 == user3 || user2 == user3){
printf("μλ‘ λ€λ₯Έ μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
}
round++;
if(checkGuess(com1, com2, com3, user1, user2, user3)==3){
printf("3 μ€νΈλΌμ΄ν¬! μ λ΅μ
λλ€! μ΄ %dλΌμ΄λ λ§μ μ±κ³΅!\n",round);
break;
}
}
}
int main() {
srand(time(NULL)); // λμ μ΄κΈ°ν
playGame();
return 0;
}