전체 글 (844) 썸네일형 리스트형 [백준 2212번] 센서 (C++) 문제링크 : https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, K, arr[10001], dist[10001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> K; .. [백준 1302번] 베스트셀러 (C++) 문제링크 : https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; map m; int N, maxV; string S, result; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0;.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-2 모듈식 레벨 디자인 저번에 실행했던 레벨을 통해 좀 더 꼼꼼히 살펴보면서 어떤 빌딩 블록이 있는지 파악하고, 디자인을 시작하게 된다. 먼저 빌딩 블록들을 더 자세히 살펴보자. 현재 라이팅이 켜진 상태에서는 빌딩 블록을 자세히 파악하는데 어려움이 있어, 언릿 상태로 바꿔서 살펴보게 된다. 각각의 에셋들을 눌러보면, 모듈식으로 하나하나 조립하여 완성된 모습을 갖춘 것을 볼 수 있다. 그리고 이러한 에셋들의 메시가 어떤 것을 사용했는지 알고 싶다면, 해당 에셋을 누르고 디테일 탭의 스태틱 메시를 체크하여 확인이 가능하다. 또 해당 에셋의 화면을 4분할 하여 현재 화면 뿐만 아니라 해당 에셋에 대해 후면, 오른쪽, 상단의 시야로 확인이 가능하다. 현재 보고 있는 화면은 언릿 상태이지만, 나머지는 와이어프레임으로.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-1 프로젝트 셋업하기 이번 섹션의 목표는 감옥같은 맵에서 숨겨진 지하 동굴을 지나 보물을 훔쳐내는 게임을 만드는 것이다. 숨겨진 지하동굴로 가는 길은 조각상을 특정 위치에 놓으면 열리게 된다. 보물의 경우 그냥 가져가면 보물 방의 문이 닫히게 되며, 대신 올려놓을 것이 필요하다. 이를 구현하기 위해 문을 움직일 Mover 컴포넌트, 조각상을 잡을 Grabber 컴포넌트, 위에 올라온 것을 확인해줄 Pressure plate 등이 필요하게 된며, 이번 섹션을 통해 하나씩 구현을 해나가게 된다. 먼저 이번 섹션을 위한 새로운 프로젝트를 셋업을 해주자. 이번 섹션을 위해 또 새로운 에셋을 다운받게 되며, 이번에 사용할 에셋은 Medieval Dungeon 에셋이다. 해당 에셋은 언리얼 5.3 버전을 지원하기 때문.. [백준 11656번] 접미사 배열 (C++) 문제링크 : https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; string s; vectorv; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> s; for(int i=0; i Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-29 장애물 공격 - 마무리 이번 섹션을 통해 알아본 것은 다음과 같다. C++ 문법의 구조 (여러가지 문들과 표현식, 로켤 변수, if문과 같은 기본 항목) C++ 클래스 생성법 C++에서 블루프린트 자식 클래스 생성 멤버 변수와 멤버 함수 언리얼 내장 기능 (UPROPERTY, UE_LOG) 언리얼 타입 (FString, FVector, FRotator) 언리얼 클래스 (GameMOde, CHaracter Class) 이번 섹션을 통해 처음으로 언리얼과 C++을 연동하여 작성하는 법을 배웠다. C++의 경우 전체적으로 기본적인 기능과, 언리얼에 포함된 기능 및 타입 등을 이용해 보았다. 이를 통해 간단한 장애물 코스를 완성했으며, 우리가 이번 섹션을 통해 배운 것을 토대로 현재 섹션을 통해 만든 장애물 코.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-28 레벨 디자인 및 다듬기 우리가 만든 각종 장애물 플랫폼을 이용하여 하나의 장애물 코스를 생각해보자. 처음에는 돌기둥을 이용해 위로 올라가고, 돌기둥을 통해 도착한 섬에서 푸셔를 피하고, 푸셔 다음에 위치한 회전 플랫폼을 통과하고, 추가적인 회전문 플랫폼을 피해 최종 목표 건물에 도착하는 것을 하나의 코스로 잡았다. 이러한 것을 레벨 디자인이라 하고, 자기만의 코스를 A4 용지 등에 정리하여 구상하고 난 이후에 언리얼에 직접 구현한다. 푸셔 코스를 통과하고 회전문 코스가 있는 섬으로 가기 위한 계단을 추가해주었는데, 계단이 너무 가파라서 올라가지 못할 수 있다. 해당 캐릭터의 디테일 패널을 보면 걸을 수 있는 바닥 각도를 조절하여 수정이 가능하다. 그리고 회전문을 추가해준다. 마찬가지로 우리가 만들었던 C.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-27 FRotator 우리가 여태 만든 것은 상하좌우로 움직이는 플랫폼이다. 이번에는 회전하는 플랫폼을 추가해주기 위해 전에 틀만 만들었던 RotatePlatform 함수를 구현해준다. 구현 방법은 MovePlatform때와 매우 유사하다. 우선 GetActorRotation을 통해 현재 회전을 구해준다. 해당 함수를 보면 FRoataor 타입을 가지는 것을 알 수 있다. 따라서 헤더 파일에서 해당 타입으로 PlatformVelocity때와 같이 RotationVelocity을 선언해준다. 움직이는 경우와 회전하는 경우 이렇게 2가지가 생겼기에 기존 카테고리명 변경 및 추가를 해주었다. 이제 내부 구현도 거의 같다. 현재 회전에 화전값 * DeltaTime한 값을 더해주고 이를 세팅하게 된다. 현 상태로 컴파.. 이전 1 ··· 40 41 42 43 44 45 46 ··· 106 다음