프로그래밍 공부

2024/03 27

카테고리 설명
  • 10.6 헤더 파일 헤더 파일은 서브 시스템이나 다른 코드에 추상화된 인터페이스를 전달하는 메커니즘이다. 한 가지 까다로운 부분은 여러 헤더 파일을 이용할 때 순환 참조나 중복 인클루드되는 경우를 피하는 것이다. 예를 들어 Logger클래스를 작성해서 모든 오류 메시지를 로깅해야 할 때, 사용자 설정 정보를 받기 위해 Preferences클래스를 사용해야 할 수 있다. 그런데 Preferences클래스가 사용하는 헤더 파일이 의도하지 않게 Logger클래스를 인클루드해버릴 수도 있다. 다음 코드에서 볼 수 있듯이 #ifndef 패턴을 이용하면 순환참조나 중복 인클루드를 막을 수 있다. 모든 헤더파일의 시작부분에 #ifndef 지시자를 넣어서 특정 키워드가 정의되지 않았다는 것을 확인한다. 만약 해당 키워..

  • 문제 설명 다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다. 지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다. 만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다. 단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다. 즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다. 다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다. 한 직사각형이 다른 직사각형 안에 완전히 포함되는 경우 또한 없습니다. 지형을 나타내는 직사각형이 담긴 2차원 배..

  • 문제 설명 x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 solution 함수를 완성해주세요. ※ 각 원 위의 점도 포함하여 셉니다. 제한 사항 1 ≤ r1 < r2 ≤ 1,000,000 입출력 예 r1 r2 result 2 3 20 문제 해설 그냥 수학과 좌표계산에 대해 좀 더 좋은 이해도를 가지고 있는지 테스트 하는 문제이다. Collision에 대해 기본적인 이해만 있으면 풀 수 있다. 거기에 좀 더 효율적인 코딩방식으로 풀어야한다. 첫 번째 시도 #include #include #include u..

  • 언리얼에서 사용하는 AI 설계에 대한 기초 개념을 알아보자.AI_Controller AI의 기본 이동에 대해 개념을 불어넣는 컨트롤러 이다. 원래 Player가 컨트롤하는 것은 PlayerController가 붙고, 컴퓨터가 컨트롤하는것은 AI_Controller가 붙는다고 이해하면 된다.블루프린트 에서 AIController로 생성하면 된다.  생성 초기 화면이다. 따로 컴포넌트는 추가하지 않으나, 사용하는 컴포넌트로는 보통 AIPerception을 사용한다.에서 사용하고, AIPerception컴포넌트를 이용하는데, 이 퍼셉션은 탐색을 의미한다.지정된 AI 퍼셉션 알고리즘을 통해, 지정된 방식대로 객체를 탐색하게 된다. Senes Config는 지정된 탐색 알고리즘을 의미하고, Domination S..

  • 문제 설명 선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. 두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다. 예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 하나 받습니다. 두 사람이 선물을 주고받은 기록이 하나도 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물 지수가 더 작은 사람에게 선물을 하나 받습니다. 선물 지수는 이번 달까지 자신이 친구들에게 준 선물의 수에서 받은 선물의 수를 뺀 값입..

  • 목표가 선택되고 선택된 목표에 대해 케릭터의 회전을 전환하여, 목표를 고정되게 바라볼 수 있도록 한다. BP_Player->Tick_LockOn 틱마다 데이터를 검사한다. LookOnTarget의 Bool데이터를 검사해서, 현재 록온을 진행 하는지 아닌지를 확인하고, 록온을 진행한다고 하면, 현재 록온중인 적을 확인하고, 록온중인 적을 향하는 방향에 현재 컨트롤 중인 컨트롤러의 회전을 전환해준다. 그렇게 화면전환을 고정하면, 고정된 객체로 틱마다 카메라의 회전이 전환되게 된다. 테스트 타겟전환하기 지정된 타겟들은 배열형태로 객체에 저장된다. 이제, 저장된 타겟들의 Distance를 확인하여, 가장 가까운 타겟 순서대로 플레이어가 카메라를 전환할 수 있도록 해보자. 즉, 다른 타겟에 카메라를 회전시키도록 ..