티스토리 뷰
게임 프로젝트
프로그램 설계
제목 : 숫자 야구 게임
요구사항:
- 정답을 찾는데 소요된 시간과 횟수 출력
- 랜덤함수를 이용하여 0~9 사이의 3 자리 정수 생성
- 사용자 입력은 0~999 사이의 정수로 입력
- 분할 컴파일이 가능하도록 다중 소스 파일 생성
주요 기능 구현
* 컴퓨터 숫자 만들기 *
시드함수 SRAND와 랜덤함수 RAND를 이용한 3개의 랜덤값 생성
rand() % 10
* 소요 시간 연산 *
time함수를 이용하여 시작과 종료 시점의 시간을 추출
difftime함수를 이용하여 시간차를 추가 연산에 의해 출력
* 분할 컴파일 *
사용자 정의 헤더파일 생성
배열 포인터를 함수의 매개변수로 전달
시드함수 SRAND와 랜덤함수 RAND를 이용한 3개의 랜덤값 생성
rand() % 10
* 소요 시간 연산 *
time함수를 이용하여 시작과 종료 시점의 시간을 추출
difftime함수를 이용하여 시간차를 추가 연산에 의해 출력
* 분할 컴파일 *
사용자 정의 헤더파일 생성
배열 포인터를 함수의 매개변수로 전달
헤더 파일
#include
#include
#define STRIKE 2
#define BALL 1
int* check(int*, int*);
voidmakeUserNum (int);
voidmakeComNum (int);
int tm_secDiff (time_t , time_t);
int tm_minDiff (time_t , time_t);
랜덤값 생성
void makeComNum (int * com)
{
int i;
srand(time(NULL));
for (i = 0; i < 3; i++)
{
com[i] = rand() % 10;
printf(“ %d ”, com[i]);
}
}
소요시간 처리
int tm_minDiff (time_t end, time_t start)
{
double d_diff;
d_diff = difftime (end,start);
returnd_diff / 60;
}
inttm_secDiff time_t end, time_t start)
{
int tm_min;
double d_diff;
d_diff= difftime (end,start);
tm_min = d_diff / 60;
return d_diff --( tm_min *60 );
}
- 시간함수 관련 라이브러리를 이용하면 현재 시간 , 시간차이 등을 간단하게 얻을 수 있음
- 랜덤값은 rand 함수를 이용하여 발생시킬 수 있음
- rand 함수는 랜덤값을 발생시키지만 실제로는 항상 동일한 값을 발생시킴
- 다른 랜덤값 생성을 위하여 랜덤함 수 호출 전 srand 함수를 이용하여 다른 시드를 전달함
'JAVA기반 스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글
변화·랜덤 라이브러리 (0) | 2021.08.08 |
---|---|
주소록 관리 시스템 (0) | 2021.08.08 |
시간 관련 라이브러리 (0) | 2021.08.08 |
도서관리 시스템 고도화(파일 처리) (0) | 2021.08.08 |
파일 입출력 라이브러리(응용) (0) | 2021.08.08 |
댓글
© 2018 webstoryboy