반응형
[환경 설정]
[게임의 3 단계]
1. 입력
- 유저의 입력
2. 게임 로직
- 입력에 따른 어떤 실행
3. 렌더링
- 로직에 따라 게임 화면에 그래픽을 그림
[Console 함수]
Console.WriteLine
- 콘솔 창에 문자열 출력하고 자동으로 한 줄 띄워준다. (Line)
- Console.WriteLine(“문자열"), Console.WriteLine(); 👉 단순 개행. std::endl; 같은
Console.SetCursorPosition
- 콘솔 창의 커서 위치를 세팅한다.
- Console.SetCursorPosition(0, 0); 👉 커서 위치가 콘솔 창의 맨 왼쪽 상단에.
Console.CursorVisible
- 콘솔 창에서 커서 위치를 보이게 할건지 아닌지.
- Console.CursorVisible = false 👉 콘솔 창에서 커서 위치가 안보이게 됨. 커서 깜빡 깜빡 하는거 없어짐.
Console.ForegroundColor
- 콘솔 창에 있는 텍스트 등등의 컬러를 설정
- Console.ForegroundColor = ConsoleColor.Green;
[프레임]
프레임이 N fps 이다 = 1 초에 N 번 실행이 된다. = 렌더링이 1초에 N 번 된다. 즉 프레임이 높을 수록, 즉 렌더링이 여러번 될 수록 화면이 부드러움.
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.CursorVisible = false;
int lastTick = 0;
while (true)
{
#region 프레임 관리
int currentTick = System.Environment.TickCount; // 밀리 세컨즈로 나타낸 현재시간. 1초 = 1000 밀리세컨즈
int elapsedTick = currentTick - lastTick; // 경과 시간
// 만약 경과한 시간이 1/30초보다 작다면
if (elapsedTick < 1000 / 30)
continue;
lastTick = currentTick; // 마지막 측정 시간 업뎃
#endregion
// 1.입력
// 2.로직
// 3.렌더링
Console.SetCursorPosition(0, 0);
Console.ForegroundColor = ConsoleColor.Green;
for(int i = 0; i < 25; i++)
{
for (int j = 0; j < 25; j++)
{
Console.Write('\u25cf'); // 동그라미 1개 그림
}
Console.WriteLine(); // 개행
}
}
}
}
}
30 프레임으로 25 X 25 의 초록색 공 그리기.
프레임 관리
- 1 / 30 초 마다 그리도록 한다. 경과시간이 1 / 30 초가 안됐으면 continue
- 1000 / 30 밀리 세컨즈 = 1 / 30 세컨즈, 즉 30 프레임마다 그리도록 한다.
#region ~ #endregion
- 이렇게 범위를 지정해주면 비주얼 스튜디오 내에서 해당 범위를 접을 수 있게 해준다.
System.Environment.TickCount;
- 현재 시간을 밀리 세컨즈로 리턴해준다.
- 1 초 = 1000 밀리 세컨즈
반응형
'공부 > 인프런 - Rookiss' 카테고리의 다른 글
Part 2-3-1. 미로 준비 : 맵 만들기 (0) | 2023.08.04 |
---|---|
Part 2-2-1. 선형 자료 기초 : 배열, 동적 배열, 연결 리스트 비교 및 구현 (0) | 2023.08.04 |
Part 2-1-1. Big-O 표기법 (0) | 2023.08.04 |
Part 2. 자료구조와 알고리즘 (0) | 2023.08.03 |
★ Part 1-7-9. 기타 문법 : Nullable(널러블) (0) | 2023.08.03 |