-
게임 프로젝트
학습내용 학습목표 ▪ 프로그램 설계
▪ 코드 분석▪ 목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다.
▪ 사용 가능한 라이브러리 함수를 개발에 적용할 수 있다.프로그램 설계
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 1int * 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