kyuseo의 게임 프로그래밍
ONE_MIN_SEC, ONE_HOUR_SEC, ONE_DAY_SEC, ONE_WEEK_SEC :: 시간 관련 선언문 본문
개요.. |
몇 시간, 며칠이 흘렀는지 검사할 경우 초(sec) 또는 밀리초(ms)로 검사하기 위해서는 복잡한 곱셈연산을 해야 합니다. 그것을 편리하고 실수가 없도록 정의(define) 한 코드입니다.
코드 |
정의: #define ONE_MIN_SEC ( 60 ) #define ONE_HOUR_SEC ( 60*60 ) #define ONE_DAY_SEC ( 60*60*24 ) #define ONE_WEEK_SEC ( 60*60*24*7 ) #define ONE_MONTH_SEC ( 60*60*24*30 ) // 정확한달은아님
#define ONE_MIN_MS ( 60*1000 ) #define ONE_HOUR_MS ( 60*60*1000 ) #define ONE_DAY_MS ( 60*60*1000*24 ) #define ONE_WEEK_MS ( 60*60*24*7*1000 ) #define ONE_MONTH_MS ( 60*60*24*30*1000 ) // 정확한달은아님 |
/// time( NULL ) 함수를사용하기편리하게만든함수 inline time_t time() { return time( NULL ); }
예제: time_t ttStart = time(); DWORD dwStart = timeGetTime();
… 많은 시간 경과…
time_t ttProgress = time() - ttStart; DWORD dwProgress = timeGetTime() - dwStart;
if( ttProgress > 5 * ONE_MIN_SEC ){ /* 5분이상경과됨*/ } if( ttProgress > 3 * ONE_HOUR_SEC ){ /* 3시간이상경과됨*/ } if( ttProgress > 2 * ONE_ DAY _SEC ){ /* 2일이상경과됨*/ }
if( dwProgress > 5 * ONE_MIN_MS ){ /* 5분이상경과됨*/ } if( dwProgress > 3 * ONE_HOUR_MS ){ /* 3시간이상경과됨*/ } if( dwProgress > 2 * ONE_DAY_ MS ){ /* 2일이상경과됨*/ } |