[Blueprint] 캐릭터 구현
·
언리얼 엔진/블루프린트
이번에 구현할 기능은 캐릭터이다.우선, 이동, 점프, 카메라 이동을 구현하고자 한다. 이동, 점프, 카메라 이동에 해당하는 기능을 Input Action으로 만들어두고, Input Mapping Context에 연결을 해준다.이후, 캐릭터 액터를 Blueprint로 만들고, 플레이어 컨트롤러가 빙의할 수 있도록 한다.Input Mapping Context를 플레이어 컨트롤러가 받게 해준 후, Input Action을 블루프린트로 가져와 연결해주면 끝 !(1) 블루프린트 세팅: SpringArm과 Camera 컴포넌트를 추가해서 카메라가 캐릭터에 부착된 상태로 함께 이동할 수 있도록 한다.(2) Input Action 세팅1. Jump: 점프중이다. 점프중이 아니다. 처럼 True, False로 판단되는 ..
[Blueprint] 가위바위보 게임 구현
·
언리얼 엔진/블루프린트
일반적인 가위바위보 게임의 룰은 다음과 같다.1. 상대방과 내가 낸 손 모양이 다른 경우    - 가위 > 보 > 바위 > 가위 순으로 상성 관계가 성립2. 상대방과 내가 낸 손 모양이 같은 경우    - 비김 그렇다면 블루프린트로 가위바위보를 구현하려면 노드를 어떻게 구성하는게 효율적일까 ?나와 상대방의 손 모양에 대한 경우의 수마다 노드를 작성하게 된다면 직관적일 수는 있으나 노드가 굉장히 복잡해질 것이다. 따라서 1번 룰의 상성관계를 노드로 표현하고자 한다. 가위 = 0, 바위 = 1, 보 = 2로 둔다면 (0, 2)의 관계를 제외하고 (0, 1), (1, 2)의 경우에는 큰 숫자가 승리를 하게 된다.(0, 0), (1, 1), (2, 2)의 경우에는 비김으로 처리하면 된다.따라서 우리는 (0, 2..
[자료구조] 쉘 정렬(Shell Sort)란 무엇인가 ?
·
컴퓨터 과학/자료구조
1. 쉘 정렬(Shell Sort)의 의미 : 삽입 정렬의 단점을 보완한 정렬. h라는 간격을 설정하여 각 원소들을 그룹화하고 그룹화한 원소들끼리 비교하며 정렬하는 알고리즘 h라는 간격의 크기 선정에 따라 쉘 정렬의 성능이 결정된다. 2. 쉘 정렬의 의사코드(Pseudocode) 입력 : 크기가 n인 배열 A 출력 : 정렬된 배열 A for each gap h = [ h0 > h1 > ... > hk = 1] //큰 간격부터 순서대로 h 설정 for i = h to n-1 CurrentElement = A[i] j = i while(j >= h) and(A[j-h] > CurrentElement){ A[j] = A[j-h] j = j-h } A[j] = CurrentElement } return 배열A ..
[자료구조] 삽입정렬(Insertion Sort)란 무엇인가 ?
·
컴퓨터 과학/자료구조
1. 삽입정렬(Insertion Sort)의 의미 : 배열을 정렬된 부분(앞부분)과 정렬이 안 된 부분(뒷부분)으로 나누고, 정렬이 안 된 부분의 가장 왼쪽 원소를 정렬된 부분의 적절한 위치에 삽입하여 정렬하는 알고리즘 정렬하기전 초기의 정렬된 부분은 배열의 첫 번째 원소로 가정한다. 2. 삽입정렬의 의사코드(Pseudocode) 입력 : 크기가 n인 배열A 출력 : 정렬된 배열 A 1 for i = 1 to n-1 { 2 CurrentElement = A[i] // 배열의 정렬되지 않은 부분의 가장 왼쪽 원소 3 j ← (i-1) // 정렬된 부분에 들어갈 적절한 위치 탐색 4 while(j >= 0) and (A[j] > CurrentElement) { 5 A[j+1] = A[j] // 정렬된 부분의..
[자료구조] 선택정렬(Selection Sort)란 무엇인가 ?
·
컴퓨터 과학/자료구조
1. 선택정렬(Selection Sort)의 정의 : 배열의 원소중 최솟값을 선택하여 배열의 정렬되지 않는 부분의 첫 인덱스와 교환하여 정렬하는 알고리즘이다. 2. 선택정렬의 의사코드(Pseudocode) 입력 : 크기가 n인 배열 A 출력 : 정렬된 배열 A 1 for i = 0 to n-2 { 2 min = i // 배열의 정렬되지 않은 부분의 첫 인덱스 3 for j = i+1 to n-1 { // A[i+1] ~ A[n-1]에서 최솟값을 찾는다 4 if(A[j] < A[min]) 5 min = j // 작은 원소를 가진 배열의 인덱스를 min에 저장 6 } 7 A[i] ↔ A[min] // 배열의 정렬되지 않은 부분의 첫 인덱스의 원소와 최솟값 교환 8 } 9 return 배열 A !!) 위에서 ..
[자료구조] 버블정렬(Bubble Sort)이란 무엇인가 ?
·
컴퓨터 과학/자료구조
1. 버블정렬(Bubble Sort)의 정의 : 이웃하는 숫자를 비교하여 작은 수를 앞쪽으로 이동시키는 과정을 반복하여 정렬하는 알고리즘이다. 전체적으로 1번 처리를 한 경우 1pass라고 칭한다. 2. 버블정렬의 의사코드(Pseudocode) 입력 : 크기가 n인 배열 A 출력 : 정렬된 배열 A 1 for pass = 1 to n-1 2 for i = 1 to n-pass 3 if(A[i-1] > A[i]) // 왼쪽 원소가 오른쪽 원소보다 크면 4 A[i-1] ↔ A[i] // 서로 자리를 바꾼다 5 return 배열 A 3. 버블정렬의 시간복잡도(Time Complexity) 최선, 평균, 최악의 경우 : 특정한 조건을 추가하지 않는다면, 최선, 평균, 최악의 경우일 때의 버블정렬의 시간 복잡도는..