2024/04 31
-
블루프린트로 AI의 기초를 생성해본다. AI Character 기본 3인칭 캐릭터를 상속받아. AI케릭터를 생성한다. AI는 비헤이비어 트리, 패트롤 컨트롤을 위한 엑터 컴포넌트 한개를 가지고 생성된다. AI컨트롤러를 사전에 생성한. AiController로 지정해준다. 생성은 위와같이. AI컨트롤러를 상속받아 생성해준다. 지정은 위와같이. 디테일 창에서 AI컨트롤러클래스로 새 컨트롤러를 지정해준다. 엑터 컴포넌트( 패트롤 메니저 ) 위와같은 구성을 가진다. 패트롤 할 때, 일정 구간을 순회하여야 함으로, 구간순회용 Line값과 해당 컴포넌트를 가지는 Owner, 현재 순환구역의 끝 까지 도달했을 때, 반대쪽으로 돌아가야 함으로, 돌아가는 상태인지 확인하는 Bool변수, 현재 이동한 거리를 측정하는 DI..
-
문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return..
-
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
-
언리얼 C++로도 블루프린트 처럼 함수 오버라이드가 가능하다. // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "C07_override.generated.h" class UBoxComponent; class UTextRenderComponent; UCLASS() class SUBPROJECT_API AC07_override : public AActor { GENERATED_BODY() UPROPERTY(VisibleDefaultsOnly) USceneComponent* S..
-
델리게이트의 여러 종류를 알아보자. 델리게이트를 자유롭게 활용하고 쉽게 이용할 수 있어야 한다. SingleDelegateParam 델리게이트에 파라미터를 넣어서 반환시킨다. 함수의 인풋값에 임의의 객체값을 기입하고, 해당 함수를 받아와, 델리게이트가 실행될 때 지정된 int값을 넣게된다. .h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "C06_2_SingleDelegate_B.generated.h" class UTextRenderComponent; class US..
-
문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한 조건 ..