티스토리 뷰
반응형
C언어 독학 기초 # 가위바위보 게임
모든 강의 자료 : www.codingnow.co.kr/
이번에는 가위바위보 게임을
만들어 봅니다.
컴퓨터와 10회 겨루어
승패를 출력합니다.
출력 결과는 아래와 같습니다.
우선 필요한 변수를 선언합니다.
int input; //입력 받을 정수(1~3)
int computer; //컴퓨터의 랜덤수
int cnt; //10회를 카운트
int score[3] = {0, 0, 0};//승패를 카운트
char* str[3] = {"가위", "바위", "보"};//문자열
랜덤함수를 초기화 합니다.
C에서는 랜던함수를 초기화 하지 않으면
동일한 값만 나옵니다.
srand(time(NULL));//램덤 수 초기화
게임을 10회 반복
cnt = 0;
while(cnt < 10)
{
cnt++;
}
유저에게 입력값을 받습니다.
1~3이외의 수는 다시 입력을
받습니다.
printf(" %d 번째 당신의 선택은 ? ",cnt);
scanf("%d",&input);
fflush(stdin); //입력 버퍼지우기
if(input<1 || input > 3)
{
printf("잘못 입력했습니다. 가위는 1, 바위는 2, 보는 3을 입력\n");
continue;
}
컴퓨터의 랜덤수를 1~3을
받습니다.
또한 유저와 컴퓨터의 입력 값을
출력합니다.
computer = (rand()%3)+1;//(3 이하의 랜덤 값), 1~3까지의 값
printf(" 당신의 선택은 [%s],",str[input-1]);
printf("컴퓨터의 선택은 [%s],",str[computer-1]);
승패의 조건을 따집니다.
무승부일때
이겼을때의 조건을
switch로 구분하여
처리하고
각 승패에따라
점수를 카운트하고
결과를 출력합니다
if(input == computer)
{
score[0] ++;
printf(" ==> 비겼습니다.\n\n");
}else{
char win = 0;
switch(input)
{
case 1://가위
{
if(computer == 3) //보
{
win = 1;
}
break;
}
case 2://바위
{
if(computer == 1) //가위
{
win = 1;
}
break;
}
case 3://보
{
if(computer == 2) //바위
{
win = 1;
}
break;
}
}
if(win == 1)
{
score[1] ++;
printf(" ==> 이겼습니다.\n\n");
}else{
score[2] ++;
printf(" ==> 패했습니다.\n\n");
}
}
전체 소스 입니다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int input; //입력 받을 정수(1~3)
int computer; //컴퓨터의 랜덤수
int cnt; //10회를 카운트
int score[3] = {0, 0, 0};//승패를 카운트
char* str[3] = {"가위", "바위", "보"};//문자열
srand(time(NULL));//램덤 수 초기화
printf("\n\n---------------------------------------\n");
printf("가위 바위 보 게임을 10회 진행합니다.\n");
printf("가위는 1, 바위는 2, 보는 3을 입력\n");
printf("---------------------------------------\n\n");
cnt = 0;
while(cnt < 10)
{
printf(" %d 번째 당신의 선택은 ? ",cnt);
scanf("%d",&input);
fflush(stdin); //입력 버퍼지우기
if(input<1 || input > 3)
{
printf("잘못 입력했습니다. 가위는 1, 바위는 2, 보는 3을 입력\n");
continue;
}
computer = (rand()%3)+1;//(3 이하의 랜덤 값), 1~3까지의 값
printf(" 당신의 선택은 [%s],",str[input-1]);
printf("컴퓨터의 선택은 [%s],",str[computer-1]);
if(input == computer)
{
score[0] ++;
printf(" ==> 비겼습니다.\n\n");
}else{
char win = 0;
switch(input)
{
case 1://가위
{
if(computer == 3) //보
{
win = 1;
}
break;
}
case 2://바위
{
if(computer == 1) //가위
{
win = 1;
}
break;
}
case 3://보
{
if(computer == 2) //바위
{
win = 1;
}
break;
}
}
if(win == 1)
{
score[1] ++;
printf(" ==> 이겼습니다.\n\n");
}else{
score[2] ++;
printf(" ==> 패했습니다.\n\n");
}
}
cnt++;
}
printf("\n결과는 [%d]승 [%d]패 [%d]무승부 입니다.\n",score[1],score[2],score[0]);
return 0;
}
가위바위보를 응용한 묵찌바 게임 강의입니다.
https://cflab2017.tistory.com/110
파이썬과 C언어 기초 활용편#가위바위보 게임 응용하여 #묵찌빠 게임 만들기#random
다른 강의자료는 www.codingnow.co.kr/ 여기를 참고해주세요.!! 코딩나우 프로그래밍 교육및 개발의뢰 받습니다. www.codingnow.co.kr youtu.be/61Y5O-Pq1rI 묵찌빠 게임을 만들어 봅니다. 여기서는 if와 함수 사..
cflab2017.tistory.com
반응형
'C언어 강의' 카테고리의 다른 글
C언어 기초 반복문 for와 while에 대한 설명 (0) | 2021.01.25 |
---|---|
C언어 기초 강의 :: 연산자에 대해 알아 보겠습니다. (0) | 2021.01.22 |
C언어 독학 기초 # % 나머지연산 이용한 문자 증가 (0) | 2020.04.24 |
C언어 독학 기초 # 아스키코드표 # (0) | 2020.04.22 |
C언어 독학 기초 # for를 이용한 배수의 개수구하기 (0) | 2020.04.22 |