본문 바로가기
Unreal Engine

Unreal Engine 변수를 활용한 게임 로직 예제: 코인 획득하기

by hfgraphic 2025. 10. 14.
반응형

 

변수를 활용한 게임 로직 예제: 코인 획득하기

 

이제 지금까지 배운 변수들을 어떻게 활용하여 로직을 구성하는지에 대한 예제를 살펴봅시다.

 

1. 시나리오 설정

 

플레이어가 코인 위를 지나가 코인을 **획득(loots)**하려 할 때, 다음 두 가지 조건을 확인해야 합니다.

  1. 플레이어가 코인을 담을 배낭을 가지고 있는가?
  2. 배낭에 획득한 코인을 담을 충분한 공간이 있는가?

두 조건이 모두 충족되면 코인을 획득하고, 그렇지 않으면 적절한 메시지를 화면에 표시할 것입니다.

 

2. 첫 번째 조건: 배낭 소유 여부 확인

  1. 배낭 변수 생성: 먼저, 플레이어가 배낭을 가지고 있는지 확인하기 위해 **'Has Backpack' (배낭 소유 여부)**라는 불리언(Boolean) 변수를 만듭니다. (불리언은 참(True) 또는 거짓(False) 값을 반환합니다.)
  2. Branch 연결: Event BeginPlayBranch (분기) 노드를 연결하고, 'Has Backpack' 변수를 조건 핀에 연결합니다.
  1. False 경로 (배낭 없음):
  • 현재 **'Has Backpack'**이 **체크 해제(False)**된 상태라고 가정해 봅시다.
  • **'Notice Message' (알림 메시지)**라는 Text (텍스트) 변수를 만들고 Alt 키를 누른 채 Set (설정) 노드로 가져옵니다.
  • Branch 노드의 False 핀을 이 Set 'Notice Message' 노드에 연결하고, 메시지를 **"You don't have a backpack yet. (아직 배낭이 없습니다.)"**라고 설정합니다.
  • 이어서 Print String 노드를 연결하여 이 메시지를 화면에 출력합니다. (예: 10초 동안 표시)

3. True 경로: 코인 획득 및 총량 업데이트

플레이어가 배낭을 가지고 있다면(True), 코인을 추가하고 총량을 업데이트합니다.

  1. 코인 총량 가져오기: 'Amount of Coins' (코인 수량, 200) 변수를 Get (가져오기) 노드로 가져옵니다.
  2. 코인 추가: 플레이어가 5 코인을 획득했다고 가정하고, **덧셈 연산자(+)**를 사용하여 5를 더합니다. (200 + 5 = 205 코인).
  3. 새 값 설정: Alt 키를 누른 채 Set 'Amount of Coins' 노드를 가져와, 연산 결과인 205를 새로운 값으로 설정합니다. 이제 변수 값이 205로 업데이트되었습니다.

 

4. 두 번째 조건: 배낭 공간 확인

 

이제 코인을 배낭에 넣기 전에 공간이 충분한지 확인해야 합니다.

  1. 배낭 개수 변수: **'Number of Backpacks' (배낭 개수)**라는 정수(Integer) 변수를 만들고 값을 2로 설정합니다.
  2. 배낭당 코인 수 계산: **Amount of Coins (205)**를 **Number of Backpacks (2)**로 **나눗셈(/)**하여 배낭당 코인 수를 계산합니다. (약 102.5).
  3. 용량 확인: 이 결과값(102.5)에서 핀을 당겨 'Greater Than (>)' 연산자두 번째 Branch 노드를 연결합니다.
  4. 조건 설정: 우리는 배낭당 200 코인이 있다면 배낭이 꽉 찬다고 가정합니다. 따라서 **"배낭당 코인 수가 200보다 큰가?"**라는 조건을 만듭니다. (205 / 2 = 102.5. 102.5는 200보다 크지 않으므로, 이 조건의 결과는 False입니다.)
  5. False 경로 (공간 충분): 이 경우 False는 **'공간이 충분하다'**는 의미이므로, False 핀을 Set 'Notice Message' 노드에 연결하고 메시지를 **"You have enough space. (충분한 공간이 있습니다.)"**로 설정합니다.
  6. True 경로 (공간 부족): True 핀을 Set 'Notice Message' 노드에 연결하고 메시지를 **"You don't have enough space. (충분한 공간이 없습니다.)"**로 설정합니다.
  7. 출력:Set Message 노드 끝에 Print String을 연결하여 최종 메시지를 출력합니다.

 

5. 코드 정리 및 최종 확인

  • 실행 확인: 현재 설정(배낭 있음, 코인 205개, 배낭 2개, 용량 200)에서는 "You have enough space." 메시지가 출력됩니다.
  • 변수 사용: 이 예시를 통해 Get, Set, 덧셈/나눗셈 연산자, 그리고 **Branch (분기)**를 사용하여 복잡한 게임 로직을 구성하는 방법을 알 수 있습니다.
  • 주석(Comment): 코드를 선택하고 C 키를 눌러 주석을 달아두면 좋습니다. 예를 들어, 'No Backpack' 또는 **'Checks if backpack is full' (배낭이 꽉 찼는지 확인)**이라고 주석을 달아두면, 나중에 코드를 확인하거나 다른 사람과 협업할 때 훨씬 편리합니다.

 

이 개념은 매우 중요하며, 모든 프로그래밍에서 핵심적으로 사용됩니다. 다음 강의로 넘어가서 더 많은 것을 배워봅시다.

 

반응형