정신과 시간의 방
카테고리
작성일
2022. 8. 23. 18:17
작성자
risehyun

C#과 유니티로 만드는 MMORPG 게임 개발 시리즈 강의를 수강하며 환경 설정 파트에서 배운 내용을 정리해보았다.


이번 강의에서는 길찾기 알고리즘을 구현하기 전에 먼저 환경 설정을 해주었다.

   class Program
    {
        static void Main(string[] args)
        {
            Console.CursorVisible = false;

            // 프레임 관리를 위한 시간표시
            int lastTick = 0;

            const int WAIT_TICK = 1000 / 30;
            const char CIRCLE = '\u25cf';

            while (true)
            {
                #region 프레임 관리
                int currentTick = System.Environment.TickCount;

                // 만약에 경과한 시간(elapsedTick)이 1/30보다 작다면
                if (currentTick - lastTick < WAIT_TICK)
                    continue;
                lastTick = currentTick; // 1/30초마다 문을 열어줘서 아래로 통과시키고,
                                        // 그것이 아니라면 준비가 되지 않았으니 기다리라는 의도로 설정해 준 것

                // FPS 프레임 (60)프레임 -> OK, 30프레임 이하로 NO)
                // 프레임? -> 루프가 1초에 몇 번이 실행되고 있나?
                // 부드럽다 -> 아주 짧은 시간안에 빠르게 연산을 해서 게임이 부드럽게 돌아가는 것.
                #endregion

                // 입력


                // 로직


                //렌더링

                Console.SetCursorPosition(0, 0);

                for (int i = 0; i < 25; i++)
                {
                    for (int j = 0; j < 25; j++)
                    {
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write(CIRCLE);
                    }
                    Console.WriteLine();
                }
            }
        }
    }

코드를 실행한 모습

단순히 도형만 출력한 것이 아니라, 게임의 구현 요소는 크게 1.입력 2.로직. 3.렌더링 으로 나눠져있음을 알게 되었다.

또한 사용자가 프로그램을 종료하기 전까지 계속해서 유지되어야 하기 때문에 무한 루프를 돌아야 한다는 것.

프레임의 정의에 대해서도 학습했다.