//[3-7-3] 숫자야구 2014.9.5 김학민
#include <time.h>
#include <stdio.h>
#include <windows.h>
int playgame();
void make_num();
char com[4]="123";//컴퓨터가 3자리수를 저장할 공간
void main()
{
int result;
char ch;
while(1)
{
make_num();//3자리수 난수 발생 함수호출
printf("====================================\n");
printf("숫자야구 게임(3자리수 %s 맞추기)\n", "");//game시 %s com 삭제
printf("====================================\n");
result = playgame();//게임하는 함수호출
printf("\n%d 번에 맞춤\n\n계속하시겠습니까? (y/n)", result);
ch=getchar();
if(ch!='y')
{
break;
}
}
}
void make_num()
{
srand(time(NULL));
int x=0;
while(1)
{
x=rand()%899+100;
itoa(x,com,10);
if(com[0]==com[1] || com[0]==com[2] || com[1]==com[2])
{
continue;
}
else
{
return ;
}
}
}
int playgame()
{
int count;
int strike, ball;
char user[3];
count=0;
while(1)
{
count++;
printf("%d번째 도전 3자리수 입력 ", count);
scanf("%s", &user);
fflush(stdin);
strike = ball = 0;
for(int i=0; i<3; i++)
{
if(user[i]==com[i])
{
strike++;
}
}
if(user[0]==com[1] || user[0]==com[2])
{
ball++;
}
if (user[1]==com[0] || user[1]==com[2])
{
ball++;
}
if (user[2]==com[0] || user[2]==com[1])
{
ball++;
}
if(strike>2 || count >10)
{
break;
}
printf("%d strike, %d ball\n",strike, ball);
strike=0;
ball=0;
}
return count;
}