환경설정
게임은 무한루프 안에서 대부분 동작이 된다.
3가지 단계로 진행
- 입력: 사용자가 키보드나 마우스로 입력하는 INPUT을 감지하는 단계
- 로직
- 렌더링: 게임 그래픽을 이용하여 화면에 출력하는 단계
프레임 고정, 프레임 관리
- FPS 프레임: 1초에 몇 번 수행되고 있는가?
- 60프레임 OK, 30 프레임 이하로 NO
코드
using System;
namespace CSharpAlgorithm
{
class Program
{
static void Main(string[] args)
{
Console.CursorVisible = false;
const int WAIT_TICK = 1000 / 30;
const char CIRCLE = '\u25cf';
int lastTick = 0;
while (true)
{
#region 프레임 관리
//만약에 경과한 시간이 1/30초보다 작다면
int currentTick = System.Environment.TickCount;
if (currentTick - lastTick < WAIT_TICK)
continue;
lastTick = currentTick;
#endregion
//입력
//로직
//렌더링
Console.SetCursorPosition(0, 0);
for (int i = 0; i < 25; i++)
{
for (int j = 0; j < 25; j++)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write(CIRCLE);
}
Console.WriteLine();
}
}
}
}
}
실행결과
'Programming > C#' 카테고리의 다른 글
[C#자료구조와알고리즘] 선형자료기초(배열, 연결 리스트) (0) | 2020.08.04 |
---|---|
[C#자료구조와알고리즘] Big-O 표기법 (0) | 2020.08.04 |
[C#기초프로그래밍] 정수 형식 (0) | 2020.08.04 |