일지
-
JUNGOL...196일지 2022. 9. 10. 13:27
Intermediate_Coder/그래프탐색-BFS/화염에서탈출(SLIKAR) 문제 재우는 중간계(middle-earth)에서 유명한 용사이다. 어느날 사람들에게 부탁 받은 마물 퇴치를 신속히 해결하고 집으로 돌아가려고 하는데, 마법의 숲에서 재우를 추적하고 있던 불의 마법사 무길이와 마주치게 되었다. 무길이는 재우를 잡기 위해서 화염 마법을 시전하였고 어느덧 숲은 화염으로 가득차고 있었다. 재우는 무길이가 화염을 풀어 놓은 숲에서 신속히 요새로 귀환하고자 한다! 숲의 지도는 R행과 C열로 이루어져있다. 비어있는 칸은 '.'로 표시되고, 불은 '*'로, 바위는 'X'로 표시되어있다. 용사의 집은 'D'로 표현되고, 재우가 처음에 서있는 위치는 'S'로 표시된다. 매 분마다 재우는 인접한 4개의 칸(상, ..
-
JUNGOL...195일지 2022. 9. 9. 13:41
Intermediate_Coder/그래프탐색-BFS/화염에서탈출(SLIKAR) 문제 재우는 중간계(middle-earth)에서 유명한 용사이다. 어느날 사람들에게 부탁 받은 마물 퇴치를 신속히 해결하고 집으로 돌아가려고 하는데, 마법의 숲에서 재우를 추적하고 있던 불의 마법사 무길이와 마주치게 되었다. 무길이는 재우를 잡기 위해서 화염 마법을 시전하였고 어느덧 숲은 화염으로 가득차고 있었다. 재우는 무길이가 화염을 풀어 놓은 숲에서 신속히 요새로 귀환하고자 한다! 숲의 지도는 R행과 C열로 이루어져있다. 비어있는 칸은 '.'로 표시되고, 불은 '*'로, 바위는 'X'로 표시되어있다. 용사의 집은 'D'로 표현되고, 재우가 처음에 서있는 위치는 'S'로 표시된다. 매 분마다 재우는 인접한 4개의 칸(상, ..
-
JUNGOL...194일지 2022. 9. 8. 11:34
Intermediate_Coder/그래프탐색-BFS/화염에서탈출(SLIKAR) 문제 재우는 중간계(middle-earth)에서 유명한 용사이다. 어느날 사람들에게 부탁 받은 마물 퇴치를 신속히 해결하고 집으로 돌아가려고 하는데, 마법의 숲에서 재우를 추적하고 있던 불의 마법사 무길이와 마주치게 되었다. 무길이는 재우를 잡기 위해서 화염 마법을 시전하였고 어느덧 숲은 화염으로 가득차고 있었다. 재우는 무길이가 화염을 풀어 놓은 숲에서 신속히 요새로 귀환하고자 한다! 숲의 지도는 R행과 C열로 이루어져있다. 비어있는 칸은 '.'로 표시되고, 불은 '*'로, 바위는 'X'로 표시되어있다. 용사의 집은 'D'로 표현되고, 재우가 처음에 서있는 위치는 'S'로 표시된다. 매 분마다 재우는 인접한 4개의 칸(상, ..
-
언리얼...3일지 2022. 9. 7. 21:40
언리얼 월드의 기능 언리얼의 월드는 다양한 기능을 제공하는데 대표적으로 다음과 같은 기능을 포함한다. 공간 가상 3차원 세계를 제공한다. 시간 현실 세계와 동일하게 흐르는 시간 또는 임의로 빠르게 혹은 느리게 흐르는 시간을 제공한다. 물리 물리적인 상호작용을 제공한다. 대표적으로 충돌, 중력 등이 있다. 렌더링 시각적인 정보를 전달하기 위한 기능을 제공한다. 기본적으로 물리 기반 렌더링이 존재한다. 이 외의 정보는 월드 세팅에서 확인할 수 있는데, UE 5.0에서는 [창] - [월드 세팅] 버튼을 눌러 월드 세팅 창을 열 수 있다. 레벨에서 기억할 내용 언리얼의 레벨은 플레이 가능한 스테이지를 말하는 것으로 월드에 배치된 액터들의 집합을 뜻한다. 레벨의 아웃라이너에는 레벨에 배치된 액터를 확인할 수 있는..
-
언리얼...1일지 2022. 9. 5. 18:28
UE5.0에서 BP 프로젝트에서 C++ 클래스 생성하기 언리얼 4.0에서는 파일 탭 밑에 [새로운 C++ 클래스...] 버튼이 있었는데 5.0에서는 이 버튼이 툴 탭 밑으로 옮겨갔다. 이상의 버튼을 눌러 새 클래스를 생성하면 자동으로 빌드가 되면서 프로젝트 폴더에 같은 이름의 솔루션 파일이 추가되고 자동으로 솔루션이 열리면 생성된 코드를 확인할 수 있다. 자동 생성된 코드는 언리얼 엔진 구동에 필요한 내용이 기본적으로 채워진 상태로 존재한다. 이 상태에서 기존 에디터를 닫고 디버그 실행하면 빌드가 되면서 에디터가 실행된다. 에디터의 콘텐츠 드로어를 보면 C++ 클래스 폴더와 방금 추가한 클래스를 확인할 수 있다. ※ 최초 빌드 시에는 상당히 느릴 수 있다.
-
JUNGOL...193일지 2022. 8. 31. 19:52
Intermediate_Coder/그래프탐색-BFS/토마토(고) 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일..
-
Effective C++...50일지 2022. 8. 29. 11:42
위치 지정 new를 작성한다면 위치 지정 delete도 같이 준비하자 위치 지정 new 란? 위치 지정 new는 기본적인 operator new에 새로운 매개변수를 전달해주는 형태의 new를 말한다. class Widget { public: ... static void* operator new(std::size_t size, std::ostream& logStream) throw(std::bad_alloc); }; 위치 지정 new와 delete가 짝이 되지 않으면 생기는 문제 C++의 런타임 시스템은 new에서 에러가 발생했을 때 자동적으로 operator delete를 호출해준다. 그런데 여기에는 한 가지 조건이 붙는데 operator new와 매개변수의 개수와 타입이 동일한 버전의 operator ..