[TIL] 24-01-24

Lev·2024년 1월 24일
0

📓TIL Archive

목록 보기
29/33

자료구조

순회

#include <list>
#include <map>

int main()
{
	// [iterator 순회]
	{
		std::list<int> NewList;

		std::list<int>::iterator StartIter = NewList.begin();
		std::list<int>::iterator EndIter = NewList.end();

		for (; StartIter != EndIter; ++StartIter)
		{

		}
	}
	{
		std::map<int, int> NewMap;

		std::map<int, int>::iterator StartIter = NewMap.begin();
		std::map<int, int>::iterator EndIter = NewMap.end();

		for (; StartIter != EndIter; ++StartIter)
		{

		}
	}

	// [ranged for 순회]
	{
		std::list<int> NewList;
		for (int& Value : NewList)
		{
			/*
			ranged for의 단점

			순회하는 동안 자료구조의 메모리 구조가 변경되면 치명적인 에러를 반환한다.
			- 값 변경 (가능)
			- 노드 삭제 (치명적인 에러)

			std::list<int> NewList;
			for (size_t i = 0; i < 100; i++)
			{
				NewList.push_back(i);
			}
			for (int& Value : NewList)
			{
				NewList.erase(NewList.begin());	// ERROR
			}
			*/
		}
	}
	{
		std::map<int, int> NewMap;
		for (std::pair<const int, int>& Map : NewMap)
		{

		}
	}
}

게임 엔진

💡 컨텐츠 프로그래머가 엔진 구조에서 집중해서 봐야할 것

  • 오브젝트 개념
    : 화면에 존재하는 개념들
    • 만들기, 찾기, 함수 실행하기, …
  • 릴리즈 개념
    : 화면에 존재하는 개념들이 사라질 때 어떻게 정리하는지
  • 렌더링 개념
    : 화면에 어떻게 그려지는지
  • 콜리전 개념
    : 화면 안의 존재들이 어떻게 상호작용하는지

오브젝트

화면에 보이는 존재들 뿐만 아니라, ‘장면’이라는 개념도 표현한다.
흔히 ‘스테이지’라고 부르지만 언리얼에서는 ‘Level’, 유니티에서는 ‘Scene’이라고 부른다.
e.g. Level 목록 : Title, Stage1, Stage2, …, End
Stage1 Level 안에 A 몬스터, B 몬스터가 나온다.
Stage2 Level 안에 C 몬스터, D 몬스터, E 몬스터가 나온다.

언리얼 오브젝트 명칭에 따른 분류
A가 붙은 오브젝트명 ⇒ 화면에 위치가 존재하는 오브젝트
U가 붙은 오브젝트명 ⇒ 화면에 위치가 존재하지는 않지만, 엔진에 속해있는 오브젝트
(참고) F가 붙은 명칭 ⇒ 구조체라는 의미

Kirby's Adventure w/ WinAPI

~ to be written ~

(언리얼과 유사하게 구성하려 노력했다.)

profile
⋆꙳⊹⋰ 𓇼⋆ 𝑻𝑰𝑳 𝑨𝑹𝑪𝑯𝑰𝑽𝑬 ⸝·⸝⋆꙳⊹⋰

0개의 댓글