#include <stdio.h>
#include <stdlib.h>//rand()함수를 위해서
#include <time.h>//time함수를 위해서
void main()
{
int num,comNum;
int Player,Com;
int Count = 0; // 0 ~ 31
int i;
srand(time(0));//랜덤인자를 현재시간으로 넣어서 실행할때마다 다른값을 얻게한다.
while(1)//break로 빠져나올때가지 계속 실행함
{
printf(\"가위[1]바위[2]보[3]를 정하세요=>\");
scanf(\"%d\",&num);
comNum=rand()%3+1;//1부터3까지의 숫자를 랜덤으로 얻는다.
if(comNum==num)//비긴경우
{
printf(\"컴퓨터가 %d번의 무기를 냈습니다.\\n\",comNum);
printf(\"비겼습니다.\\n\");
continue;//while루프로 되돌아감
}
else if( num==comNum+1 || num==comNum-2)//이긴경우 (숫자가 하나많으면 이기고 두개적으면 이긴다.)
{
printf(\"컴퓨터가 %d번의 무기를 냈습니다.\\n\",comNum);
printf(\"당신은 이겼습니다\\n\");
goto beskin;
}
else //진경우
{
printf(\"컴퓨터가 %d번의 무기를 냈습니다.\\n\",comNum);
printf(\"당신은 졌습니다\\n\");
goto beskin2;
}
beskin :
printf(\"베스킨 라빈스 31 Game \\n\");
while(1){
printf(\"=== My Turn=== \\n\");
while(1){
printf(\"Input Number( 1 ~ 3 ) : \");
scanf(\"%d\",&Player);
if(Player >= 1 && Player <= 3){ break; }
printf(\"다시 입력해주시기 바랍니다 \\n\");
}
for(i=0;i<Player;i++){
Count++;
printf(\"Player = %d \\n\",Count);
if(Count==31){
printf(\"당신이 졌습니다 \\n\");
return 0;
}
}
if(Count<27){
Com = rand()%3+1; // 1 ~ 3
}else if(Count==27){
Com = 3;
}else if(Count==28){
Com = 2;
}else if(Count==29){
Com = 1;
}
printf(\"=== Computer Turn=== \\n\");
for(i=0;i<Com;i++){
Count++;
printf(\"Com = %d \\n\",Count);
if(Count==31){
printf(\"당신이 이겼습니다 \\n\");
return 0;
}
}
beskin2 :
printf(\"베스킨 라빈스 31 Game \\n\");
while(1){
printf(\"=== Computer Turn=== \\n\");
while(1){
for(i=0;i<Com;i++){
Count++;
printf(\"Com = %d \\n\",Count);
scanf(\"%d\",&Com);
if(Count==31){
printf(\"당신이 이겼습니다 \\n\");
return 0;
}
for(i=0;i<Player;i++){
Count++;
printf(\"Player = %d \\n\",Count);
if(Count==31){
printf(\"당신이 졌습니다 \\n\");
return 0;
}
}
if(Count<27){
Com = rand()%3+1; // 1 ~ 3
}else if(Count==27){
Com = 3;
}else if(Count==28){
Com = 2;
}else if(Count==29){
Com = 1;
}
printf(\"=== My Turn=== \\n\");
printf(\"Input Number( 1 ~ 3 ) : \");
scanf(\"%d\",&Player);
if(Player >= 1 && Player <= 3)
printf(\"다시 입력해주시기 바랍니다 \\n\");
}
}
}
}
return 0;
}
}
디버깅에러가 저기서나는건 알겠는데 왜나는지 모르겟어요
return 0; << 프로그램이 중간에 끝났잖아..
goto는 웬만하면 쓰지 않는게 좋다고 했다. 프로그램 트레이싱 하기 빡쳐지지