◆ time()함수에 대해 알아 봅시다.
▶ time() - 시간을 알려주는 함수로써 그리니치 표준시 (GMT)로부터 1970년 1월 1일 0시부터의 경과 시간을 초 단위로 알려준다.
▶ Sleep() - 지정된 밀리세컨드 동안 프로그램 실행을 일시적으로 정지시키는 역할을 한다(1000 - 1초를 의미한다.)
▶ System() - 콘솔 명령어를 사용할 수 있도록 해주는 함수
예) system("cls"); 화면을 지움
system("dir"); 폴더를 보여줌
▶ gotoxy() - x, y 값에 따라 커서를 이동시켜 주는 함수
▶ printf() - 형식화된 출력을 표준 출력으로 출력하는 함수
형식 지정자로는 %d, %i, %o, %u, %x, %f, %e, %c, %s 등을 사용할 수 있다.
[ time 함수 예제 ] 다음 프로그램을 3초가 지나면 자동으로 프로그램이 종료됩니다
#include <stdlib.h>
#include <conio.h>
#include <time.h>
void gotoxy(int x, int y)
{
COORD NewPos={x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),NewPos);
}
int main()
{
time_t t;
int d;
t = time(0); //현재시간이 저장됩니다.
// 시간은 계속 지나갑니다.
// 저장해두었던 시간(t)에서 현재시간을 빼주면 지나간 시간을 구할수 있습니다.
do{
if(time(0) - t == 3)
{
printf("\n\n3초가 지났습니다\n");
break;
}
printf("*");
Sleep(100);
}while(1);
return 0;
}
프로그램이 실행되면 현재시간을 변수 t에 저장합니다.
시간을 계속 지나가니 현재시간이 계속 바뀌겠죠?
그럼 현재시간에서 프로그램 실행될때 저장된 시간(변수 t)을 빼주면 지나간 시간을 구할수 있습니다.
[ time 함수 예제 ] 다음과 같이 실행되는 프로그램을 작성하세요.
※ 20초부터 시작해서 1초씩 줄어듭니다. 0초가 되면 프로그램이 종료됩니다.
#include <conio.h>
#include <time.h>
#include <stdio.h>
#include <windows.h>
void gotoxy(int x, int y)
{
COORD CursorPosition={x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPosition);
}
int main()
{
time_t t;
int i, d;
t = time(0);
do{
gotoxy(10, 10);
printf("남은 시간:%d초", 20-(time(0)-t));
gotoxy(10, 13);
for(i=0;i<20-(time(0)-t);i++)
{
printf("■");
}
Sleep(1000);
system("cls");
if(20-(time(0)-t)==0)
{
break;
}
}while(1);
return 0;
}
'C언어로 게임만들기' 카테고리의 다른 글
10. C언어로 게임만들기 - 방향키로 이동하기 (0) | 2020.03.31 |
---|---|
9. C언어로 게임만들기 - _kbhit() - 키가 눌렀는지 검사하는 함수 (0) | 2020.03.30 |
7. C언어로 게임만들기 - rand()함수 (0) | 2020.03.28 |
6. C언어로 게임만들기 - 글자색변경하기 (0) | 2020.03.28 |
5. C언어로 게임만들기 - gotoxy함수 - 달팽이 모양 출력하기 (0) | 2020.03.27 |