컴퓨터와 가위, 바위, 보 게임을 하기위한 프로그램을 작성하여라. 단 컴퓨터는 항상 랜덤하게 가위, 바위, 보를 선택한다.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
while(1)
{
char c1;
char c2;
printf("가위(s) 바위(r) 보(p) 게임을 시작합니다\n");
printf("가위 바위 보를 선택하세요");
scanf("%c",&c1);
c2=(char)rand()%3; //컴퓨터의 값이 정해짐
//0: 가위 1: 바위 2: 보
if(c1=='s'&c2=='0')
{
printf("당신은 가위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if(c1=='s'&c2=='1')
{
printf("당신은 가위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
else if(c1=='s'&c2=='2')
{
printf("당신은 가위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
if(c1=='r'& c2=='0')
{
printf("당신은 바위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 이겼습니다\n");}
else if(c1=='r'& c2=='1')
{
printf("당신은 바위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if (c1=='r'&c2=='2')
{
printf("당신은 바위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
if(c1=='p'&c2=='0')
{
printf("당신은 보를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 졌습니다\n");}
else if(c1=='p'&c2=='1')
{
printf("당신은 보를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
else if (c1=='p'&c2=='2')
{
printf("당신은 보를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
}
printf("다음에 또 만나요");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void){
char c1;
int c2;
printf("\n가위(s) 바위(r) 보(p) 게임을 시작합니다\n");
while(1){
printf("가위 바위 보를 선택하세요");
scanf("%c",&c1);
c2=(int)rand()%3; //컴퓨터의 값이 정해짐
//0: 가위 1: 바위 2: 보
if(c1=='s'&&c2==0)
{
printf("당신은 가위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if(c1=='s'&&c2==1)
{
printf("당신은 가위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
else if(c1=='s'&&c2==2)
{
printf("당신은 가위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
if(c1=='r'&&c2==0)
{
printf("당신은 바위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 이겼습니다\n");}
else if(c1=='r'&&c2==1)
{
printf("당신은 바위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if (c1=='r'&&c2==2)
{
printf("당신은 바위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
if(c1=='p'&&c2==0)
{
printf("당신은 보를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 졌습니다\n");}
else if(c1=='p'&&c2==1)
{
printf("당신은 보를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
else if (c1=='p'&&c2==2)
{
printf("당신은 보를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
}
printf("다음에 또 만나요");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char c1;
int c2;
printf("가위(s) 바위(r) 보(p) 게임을 시작합니다\n");
printf("가위 바위 보를 선택하세요");
scanf("%c",&c1);
c2=rand()%3; //컴퓨터의 값이 정해짐
//0: 가위 1: 바위 2: 보
if(c1=='s'&&c2==0)
{
printf("당신은 가위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if(c1=='s'&&c2==1)
{
printf("당신은 가위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
else if(c1=='s'&&c2==2)
{
printf("당신은 가위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
if(c1=='r'&& c2==0)
{
printf("당신은 바위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 이겼습니다\n");}
else if(c1=='r'&& c2==1)
{
printf("당신은 바위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if (c1=='r'&&c2==2)
{
printf("당신은 바위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
if(c1=='p'&&c2==0)
{
printf("당신은 보를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 졌습니다\n");}
else if(c1=='p'&&c2==1)
{
printf("당신은 보를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
else if (c1=='p'&&c2==2)
{
printf("당신은 보를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
printf("다음에 또 만나요");
return 0;
}
위의 코드 상태
가위, 바위, 보 로 설정한 것이다. 어차피 출력값은 0, 1, 2의 숫자이기에 궅이 char형이 아닌 int형으로 바꾸는게 낫다.
💡 논리 연산자는 &가 아니고 &&이다. &&은 모두가 참일 때만 참인 연산자이다. 💡 getchar(); → 버퍼에 남아있는 개행 문자를 제거하는 것이다.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("가위(s) 바위(r) 보(p) 게임을 시작합니다\n");
while(1)
{
char c1;
int c2;
printf("가위 바위 보를 선택하세요:");
scanf("%c",&c1);
getchar();
c2=rand()%3; //컴퓨터의 값이 정해짐
//0: 가위 1: 바위 2: 보
if(c1=='s'&&c2==0)
{
printf("당신은 가위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if(c1=='s'&&c2==1)
{
printf("당신은 가위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
else if(c1=='s'&&c2==2)
{
printf("당신은 가위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
if(c1=='r'&& c2==0)
{
printf("당신은 바위를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 이겼습니다\n");}
else if(c1=='r'&& c2==1)
{
printf("당신은 바위를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
else if (c1=='r'&&c2==2)
{
printf("당신은 바위를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 졌습니다\n");
}
if(c1=='p'&&c2==0)
{
printf("당신은 보를 냈고 컴퓨터는 가위를 냈습니다.\n");
printf("당신은 졌습니다\n");}
else if(c1=='p'&&c2==1)
{
printf("당신은 보를 냈고 컴퓨터는 바위를 냈습니다.\n");
printf("당신은 이겼습니다\n");
}
else if (c1=='p'&&c2==2)
{
printf("당신은 보를 냈고 컴퓨터는 보를 냈습니다.\n");
printf("당신은 비겼습니다\n");
}
if(c1=='9')
break;
}
printf("다음에 또 만나요");
return 0;
}