-
게임 프로젝트
학습내용 학습목표 ▪ 프로그램 설계
▪ 코드 분석▪ 목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다.
▪ 사용 가능한 라이브러리 함수를 개발에 적용할 수 있다.프로그램 설계
1. 개요
[1] 제목
▪ 숫자 야구 게임
[2] 기능
[3] 요구사항
☞ 정답을 찾는데 소요된 시간과 횟수 출력
☞ 랜덤함수를 이용하여 0~9 사이의 3자리 정수 생성
☞ 사용자 입력은 0~999 사이의 정수로 입력
☞ 분할 컴파일이 가능하도록 다중 소스 파일 생성
2. 주요 기능 구현
코드 분석
1. 헤더 파일#include <stdio.h> #include <stdlib.h> #include <time.h> #define STRIKE 2 #define BALL 1 int * check(int*, int* ); void makeUserNum(int *); void makeComNum(int *); int tm_secDiff(time_t , time_t ); int tm_minDiff(time_t , time_t );
2. 랜덤값 생성
void makeComNum(int *com) { int i; srand (time(NULL)); for ( i = 0; i < 3; i++) { com[i] = rand() % 10; printf(“ %d ”, com[i]); } }
3. 소요시간 처리
int tm_minDiff(time_t end, time_t start) { double d_diff; d_diff = difftime(end, start); return d_diff / 60; } int tm_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); }
학습정리
1. 프로그램 설계
▪ 시간함수 관련 라이브러리를 이용하면 현재 시간, 시간차이 등을 간단하게 얻을 수 있음
▪ 일반적으로 IDE 에서 프로젝트를 생성한 후 다중 소스파일로 작성하여 프로그램을 개발함
▪ 1~10까지의 값을 난수 발생하기 위해서는 rand()%10+1 의 연상을 이용함
2. 코드 분석
▪ 시간함수 관련 라이브러리를 이용하면 현재 시간, 시간차이 등을 간단하게 얻을 수 있음
▪ 랜덤값은 rand 함수를 이용하여 발생시킬 수 있음
▪ rand 함수는 랜덤값을 발생시키지만 실제로는 항상 동일한 값을 발생시킴
▪ 다른 랜덤값 생성을 위하여 랜덤함 수 호출 전 srand 함수를 이용하여 다른 시드를 전달함
'Blog > JAVA기반 스마트웹 개발2021' 카테고리의 다른 글
프로그래밍 언어 활용 part 2 - 변환·랜덤 라이브러리 (0) 2021.08.10 프로그래밍 언어 활용 part 2 - 주소록 관리 시스템 (0) 2021.08.10 프로그래밍 언어 활용 part 2 - 시간 관련 라이브러리 (0) 2021.08.10 프로그래밍 언어 활용 part 2 - 도서관리 시스템 고도화(파일 처리) (0) 2021.08.09 프로그래밍 언어 활용 part 2 - 파일 입출력 라이브러리(응용) (0) 2021.08.09 댓글