반응형
C공부를 하는 사람이라면 야구게임... 다들아실겁니다.
3개의 난수를 내어서 하나라도 맞추면 스트라이크 다 틀리면 볼..
그래서 3번만에 맞추면 아웃!! 4번틀리면 볼넷 ㅋㅋ
그럼 제작 방법 한번 알아볼까요?
들어가기에 앞서... Tip |
1. 사용되는 헤더 파일
헤더 |
설명 |
함수 |
studio.h |
표준 입출력 라이브러리 함수 정의 |
printf, scanf, fopen,getc 등 |
stdlib.h |
정수형의 범위를 나타내는 상수들을 정의 |
int atol, rand, malloc 등 |
time.h |
시간과 날짜를 얻거나 조작하는 함수 |
time_t time , ctime 등 |
C를 이용한 야구게임 만들기 |
/********************************************************************* 1-9까지의 난수 3개를 한번 받아서 몇번만에 3스트라이크를 잡는지 확인하는야구 게임이다. 4볼시 도 게임종료 (같은 위치: 스트라이크 다른 위치: 볼 존재x: x) **********************************************************************/ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { int data[3]; int i,j; int aa=0,bb=0; //for문의 중복을 없애기 위해 존재 int st=0,bl=0; //스트라이크 볼을 센다. int count=0; int input[3]; long seed; //난수를 발생 seed=time(NULL); srand(time(NULL)); printf("======================================\n"); printf("==============야구게임================\n"); printf("======================================\n\n\n"); //1-9에서 난수를 3개 발생시킨다. 중복시 다시 난수를 발생 시킨다. for(i=0;i<3;i++) { data[i]=rand()%9+1; for(j=0;j<i;j++) { while(data[j]==data[i]) { data[i]=rand()%9+1; } } printf("%d ",data[i]); } printf("\n"); //3스트라이크 나 4볼이 나올때까지 무한 루프 while(1) { printf("===1~9까지 값을 3가지 넣으세요===\n"); scanf("%d %d %d",&input[0],&input[1],&input[2]); //난수와 입력을 비교하여 스트라이크, 볼 확인 for(j=0;j<3;j++) { for(i=0;i<3;i++) { if(i==j&&data[i]==input[i]) { aa++; printf("스트라익~~\n"); } else if(data[i]==input[j]) { bb++; printf("보올~~~~\n"); } } //스트라이크나 볼이 한번 나올시 for문을 빠져나간다 if(aa>=1) { aa=0; st++; break; } else if(bb>=1) { bb=0; bl++; break; } else continue; } count++; printf("현재까지%d번 던져서 %d스트라이크 %d볼 입니다\n\n",count,st,bl); if(st==3)//3번의 스트라이크를 잡을 시 { printf("정답은 %d %d %d \n",data[0],data[1],data[2]); printf("%d번 만에 삼진아웃 ㅊㅋㅊㅋ\n",count); break; } else if(bl==4) { printf("주자 나갔음 ㅋㅋㅋ\n"); break; } } return EXIT_SUCCESS; }
[실행 결과]
반응형
'IT STUDY > Language' 카테고리의 다른 글
[C 응용] fopen을 이용한 txt에서의 연산 (0) | 2013.08.20 |
---|---|
[C 기초] fopen,fprintf,fclose를 이용한 txt에 data담기 (0) | 2013.08.20 |
[C 기초] 근의 공식을 이용한 이차방정식 구하기 (0) | 2013.08.20 |
[C 기초] 난수를 이용한 2중배열 만들기 (0) | 2013.08.20 |
[기초 C] 학점 계산기 만들기 (0) | 2013.08.20 |