static Keyword
·
C++
1. class 외부에서의 static의 의미개념)정의된 단위에서만 볼 수 있게 한다.static으로 선언한 변수가 존재하는 그 파일 내부에서만 그 변수를 찾을 수 있다는 의미 예시 1)statickeyword.cpp 파일static int s_Variable = 5; staticmain.cpp 파일#include int s_Variable = 10;int main(){ std::cout  이 경우 10을 출력하게 된다. 예시 2)만약 위의 statickeyword.cpp에서 s_Variable 변수의 static 을 빼면 아래와 같이 이미 정의되어있다는 오류를 출력한다. 예시 3) 그렇다면 이 에러를 없애주고, static 변수를 쓰기 위해서는 staticmain.cpp의 변수를 extern으로 선언하..
Unreal Engine - 플러그인 만들기
·
Unreal Engine
1. 플러그인 만들기편집 -> 플러그인 -> 추가 선택아래와 같은 창이 뜨게 된다.우리는 블루프린트에서 플러그인으로 만든 함수를 테스트 해보기 위해서 블루프린트 라이브러리 템플릿을 선택하여 만들 것이다. 플러그인 생성이 완료되었다면, 우리 프로젝트 폴더로 들어가 아래 세가지 폴더를 삭제 후, .uproject 파일을 우클릭해서 generate visual studio files를 해주어야 제대로 생성이 된다..vsBinariesIntermediate  2. 블루프린트 라이브러리https://dev.epicgames.com/documentation/ko-kr/unreal-engine/blueprint-function-libraries-in-unreal-engine 블루프린트 펑션 라이브러리란특정 게임플레이..
TIL day 67
·
TIL
1. 코딩테스트오늘은 BFS, DFS관련 수업을 듣고, 프로그래머스 level 3 - 여행경로 문제를 풀었습니다.https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내가 풀었던 생각의 흐름 (이 방식으로 해결 못함)string을 넣었을때 string들을 출력해줘야 하니까 컨테이너는 unordered_map> 으로 구성했다.이후 방문 표시를 해주기 위해서 vis라는 컨테이너를 두었는데, 출발지와 도착지를 모두 포함해야 하니까 두 문자열을 합쳐서 저장하는 unordered_map vis 로 구성했다..
Unreal Engine - 야구 게임(리슨 서버)
·
Unreal Engine
1. 기본 로직1 - 1. 게임 시작 시레벨 BPUI를 띄워주고,UserID를 서버라면 HOST로 클라이언트라면 GUEST로 세팅해준다.PlayerControllerBeginPlay에서 아래와 같이 Widget의 이벤트 디스패처와 PlayerController를 Binding 해준다.GameModeBeginPlay에서 아래와 같이 게임에 필요한 값을 초기화 한다.난수 생성turn 과 count 초기화타이머 초기화 1 - 2. 숫자 입력 받기 숫자 입력UI에 /와 숫자를 입력한 다음 enter를 누르게 되면, UI의 SetMessagetoUserController가 call되는데 이 이벤트 디스패처는 PlayerController에 OnSendMessagetoServer와 바인딩 되어있다. 입력 처리UI ..
TIL day 66
·
TIL
1. 코딩테스트(알고리즘)오늘 오전에는 그래프 알고리즘의 다익스트라와 벨만-포드 알고리즘을 공부해 보았습니다. 해당 알고리즘은 조금 난이도가 있다고 느껴졌고 어떤 방식으로 동작하는지 위주로 먼저 공부를 하였습니다.아직 구현에 있어서는 익숙하지 않아 부족한 부분이 많다고 느껴져서, 앞으로 관련 문제를 만나서 풀게 되면 다시 한번 정리를 하는 것도 좋을 것 같습니다. https://gbleem.tistory.com/134 최단 경로 구하기 (다익스트라, 벨만-포드)1. 다익스트라 알고리즘가중치가 있는 그래프의 최단경로를 구할 때 사용하는 알고리즘 다익스트라 알고리즘의 동작 방식은모든 노드의 최소 비용을 INF로 초기화한다.시작한 노드의 최소비용gbleem.tistory.com  2. 언리얼 멀티플레이 과제내..
최단 경로 구하기 (다익스트라, 벨만-포드)
·
알고리즘(코딩테스트)
1. 다익스트라 알고리즘가중치가 있는 그래프의 최단경로를 구할 때 사용하는 알고리즘 다익스트라 알고리즘의 동작 방식은모든 노드의 최소 비용을 INF로 초기화한다.시작한 노드의 최소비용은 0, 직전 노드는 자기 자신으로 두고 시작이후 최소 비용이 가장 낮으면서 방문하지 않은 노드를 선택하여 최소 비용을 업데이트 한다.아래의 그림을 통해 어떤 방식으로 동작하는지 알 수 있다.최소 비용이 가장 낮은 A로 시작하여 모든 연결된 노드의 최소비용을 갱신 (A 방문)이후 최소비용이 가장 낮은 E노드를 시작으로 더 작은 최소비용이 되는 경로가 있다면 갱신 A->E->C가 기존의 A->C 보다 최소비용이 작으므로 갱신! (E 방문)이 방식을 모든 노드 방문할 때 까지 반복하기결과우리가 C까지의 경로를 알고 싶다면, C의..
Unreal Engine - Standalone을 리슨 서버로 확장하기
·
Unreal Engine
1. Standalone 게임아주 간단한 게임 로직을 하나 구성했다. Goal 이라는 액터가 존재하고, 해당 액터에 플레이어가 닿으면 UserName과 WIN! 이라는 문구를 띄워주는 게임이다. 로직 설명GameMode에서 Goal Actor를 하나 Spawn 해준다.Goal 이라는 Actor에 Character가 overlap된 순간 PlayerController의 EndGame이라는 Event call해준다.GameMode의 EndGame 함수는 PlayerController를 찾아서 PlayerController의 EndGame 이벤트를 call한다.PlayerController에서는 Widget을 만들어주고 Widget의 EndGame 함수를 call해준다. 이후 add to viewport 해준..
Unreal Engine - Gameplay Framework
·
Unreal Engine
Gameplay Frameworkhttps://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-framework-in-unreal-engine 네트워크https://cedric-neukirchen.net/docs/multiplayer-compendium/framework-and-network/
Unreal Engine - UObject
·
Unreal Engine
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/objects-in-unreal-engine 1. UCLASS 매크로언리얼에는 게임 오브젝트를 처리하기 위한 시스템이 존재한다.언리얼엔진은 UObject에서 파생된 클래스에 UCLASS 매크로를 붙여 통해 게임 오브젝트 처리 시스템이 인식할 수 있도록 한다. 그 결과 언리얼 엔진의 GC, Reflection 등의 시스템을 사용할 수 있게 된다. 추가적으로 UObject의 함수나 변수 또한 매크로를 통해 언리얼 엔진이 인식할 수 있게 해줄 수 있다.UPROPERTY()UFUNCTION() 참고 글)https://gbleem.tistory.com/35 Unreal Property System (Refl..
TIL day 65
·
TIL
1. 코딩테스트오늘 오전에는 오랜만에 다시 프로그래머스 level 2 디펜스 게임 문제를 풀었습니다.https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음에는 DP로 풀어야 할까 라는 생각을 했었는데, 배열의 크기가 너무 커져서 해결할 수 없었습니다.아이디어를 내지 못해서 결국 힌트를 보고 heap을 써야한다는 것을 알게 되어 풀었습니다.더보기#include #include #include #include using namespace std;priority_queue pq; //무적권 사용할 ..