#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int com, user;
int com1 = 0;
int user1 = 0;
char check;
void cpr(void); //비교,출력
void res(void); // 전적
void main()
{
while(1)
{
puts(" \n--- 가위 바위 보 게임 -----");
printf("(1. 묵, 2. 가위, 3. 보) ");
scanf("%d", &user);
com = rand() % ((3-1)+1)+1;
cpr();
res();
}
}
void cpr(void)
{
switch(user)
{
case 1 :
if(com==1)
{
printf("Com은 묵을 선택했습니다\n");
printf("컴퓨터와 비겼습니다\n");
}
else if(com == 2)
{
printf("Com은 가위을 선택했습니다\n");
printf("유저가 이겼습니다.\n");
user1++;
}
else if(com == 3)
{
printf("Com은 보을 선택했습니다\n");
printf("유저가 졌습니다.\n");
com1++;
}
break;
case 2 :
if(com==1)
{
printf("Com은 묵을 선택했습니다\n");
printf("유저가 졌습니다.\n");
com1++;
}
else if(com == 2)
{
printf("Com은 가위을 선택했습니다\n");
printf("컴퓨터와 비겼습니다\n");
}
else if(com == 3)
{
printf("Com은 보을 선택했습니다\n");
printf("유저가 이겼습니다.\n");
user1++;
}
break;
case 3 :
if(com==1)
{
printf("Com은 묵을 선택했습니다\n");
printf("유저가 이겼습니다.\n");
user1++;
}
else if(com == 2)
{
printf("Com은 가위을 선택했습니다\n");
printf("유저가 졌습니다\n");
com1++;
}
else if(com == 3)
{
printf("Com은 보을 선택했습니다\n");
printf("컴퓨터에게 비겼습니다.\n");
}
break;
default :
printf("올바른 값을 입력하세요\n");
break;
}
}
void res(void)
{
printf("한번 더 하 시겠습니까 (y or n) ??");
scanf("%c", &check);
if(check == 'n')
{
if(com1>user1)
{
printf("컴퓨터가 %d승으로 유저보다 %d승 더 많으므로 승리!!\n", com1, com1-user1);
}
else if(com1<user1)
{
printf("유저가 %d승으로 컴퓨터보다 %d승 더 많으므로 승리!!\n", user1, user1-com1);
}
else if(com1==user1)
{
printf("승이 똑같으므로 비겼습니다!!\n");
}
}
}
왜 res함수에 break를 검ㅋㅋㅋㅋ while문안에 break넣어야지. break 플래그 주려면 당연히 res함수에서 결과를 식별할 만한 값을 반환해야겠지?
조금만 더 자세하게 얘기해주면 안댈까요
아 시발 존나 총체적 난국이네. 눈썩겠다
break를 while안에 넣어야 반복이 탈출이되지;
프갤 대단하네