Blog/JAVA기반 스마트웹 개발2021
프로그래밍 언어 활용 part 2 - 게임 프로젝트
고구마달랭이
2021. 8. 10. 17:58
게임 프로젝트
학습내용 | 학습목표 |
▪ 프로그램 설계 ▪ 코드 분석 |
▪ 목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다. ▪ 사용 가능한 라이브러리 함수를 개발에 적용할 수 있다. |
프로그램 설계
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 함수를 이용하여 다른 시드를 전달함