1. 가위바위보 게임 만들기
1-1. 가위바위보 로직
가볍게 가위바위보의 룰을 떠올려 봅시다.
바위는 가위를 이기고, 가위는 보를 이기고, 보는 바위를 이기는 간단한 게임입니다.
사용자에게 입력을 받아옵니다. >
가위 or 바위 or 보 를 입력 >
상대방과 비교 > 승리 or 패배 or 무승부 > 종료
만약 입력이 잘못되었다면 > 입력이 잘못되었습니다 > 종료
위와 같은 가벼운 로직을 만들 수 있습니다.
1-2. 블루프린트로 만들기
처음 만드는거라면 조급할 필요 없습니다.
위와같이 먼저 자신의 로직을 좀 생각해본뒤 만들기 시작하면됩니다.
한번에 목표까지 완성할 필요는 없고 차근차근 하나씩 만들어 가면 됩니다.

사용자 입력 가위 > 가위가 맞는지 확인 > 가위가 맞으면 가위 출력
먼저 변수 InputString을 하나 만들어 줍니다. InputString은 앞으로 사용자의 입력을 받을 변수입니다.
Event BeginPlay와 SET(InputString)노드를 연결합니다. 게임이 시작되면 SET 노드 안의 Input String 값이 사용자의 입력입니다.
그다음 Input String의 Get노드를 '===' (문자열 비교 연산 노드) 가위와 비교 InputString True라면 Branch가 입력받은 값은 가위
를 출력할 것입니다.

만약 입력이 보라면 >
가위와 비교 > False > 바위와 비교 > False > 보 출력
이렇게 만들어주면, SET Input String의 값을 가위, 바위, 보 셋중 하나로 입력해주면 해당하는 문자열이 출력될 것이고, 가위, 바위, 보 셋다 아니라면 입력이 잘못되었다고 출력될 것입니다.

훌륭하게 출력되는 모습입니다.
다음은 가위 바위 보 승리 조건을 만들어 보겠습니다.
이제 사용자 입력은 확인했으니 다음 로직인 승패를 결정해야 합니다.
하지만 해당 상태로는 문자열끼리 우열을 가리기 힘들기 때문에 숫자로 비교하면 좀 편할 것 같습니다.
또한 뒤에서 컴퓨터의 가위 바위 보를 정할때, 컴퓨터는 랜덤하게 가위 바위 보를 정해야 하기 때문에 숫자로 비교하는 로직을 짜보겠습니다.
가위라면 0, 바위라면 1, 보 라면 2
로직은
내가 0 이라면
상대방이 1 > 패배
상대방이 2 > 승리
상대방이 0 > 무승부,
내가 1 이라면
상대방이 1 > 무승부
상대방이 2 > 패배
상대방이 0 > 승리,
내가 2 라면
상대방이 1 > 승리
상대방이 2 > 무승부
상대방이 0 > 패배,
혹은
내가 0이고 컴퓨터가 2, 내가 컴퓨터보다 높지만 컴퓨터가 0 내가 2가 아니라면 - 승리
나랑 컴퓨터 숫자가 같다면 - 무승부
그외의 경우 - 패배
두 로직 중 편한대로 만들면 좋을 것 같습니다.
저는 두번째 로직을 사용하겠습니다.

여기까지가 컴퓨터의 숫자(가위, 바위, 보) 설정입니다.
Computer Power이라는 인티저형 변수를 선언해주고, 값은 Random Integer을 검색해서 Max를 3으로 주면 됩니다.
Max가 3이면 Computer Power는 0, 1, 2 중 랜덤으로 하나의 값이 저장됩니다.

승리로직입니다. 차근차근 알아봅시다.
못보던 노드가 2개 있습니다. 각각 AND 연산, OR 연산입니다.
영어의 뜻을 생각하면 두 연산자의 의미는 알기 쉽습니다.
그리고(and), 또한(or)
and 연산은 A and B, A 와 B가 둘다 참이면 참을 반환합니다.
or 연산은 A or B, A 또는 B 둘 중 하나만 참이면 참을 반환합니다.
가볍게 3덩이로 나누어서 보겠습니다.
A 연산 : Power == 0 AND ComputerPower == 2
B 연산 : Power > ComputerPower
C 연산 : Power == 2 AND ComputerPower != 0
A연산은 Power가 0(가위) 일 때, ComputerPower가 2(보) 이어야 승리함으로 두 조건이 무조건 충족되어야 합니다. 그래서 AND 연산(A연산과 B연산이 모두 참일때)
B연산은 Power가 1,2 일 때, ComputerPower가 0, 1 이어야 승리입니다. 하지만 여기서 Power가 2(보) 일때 ComputerPower가 0(가위) 임에도 승리 조건이 되기 때문에 C연산을 통해 그 경우에 수를 제외합니다.
C연산은 Power 가 2일 때, ComputerPower는 0이 아니라면 참 연산을 수행합니다.
그리고 B연산과 C연산을 AND 연산 해주면, 모든 승리 조건이 만들어 졌습니다.
마지막 OR 연산으로 묶어주면 A OR (B AND C) 라는 조건이 만들어 졌습니다.
A연산 (B AND C)연산 둘 중 하나의 연산이 참이라면 승리 입니다.

승리만 조금 복잡했습니다. 무승부와 패배는 비교적 로직이 간단합니다.
승리로직 OR 다음부터 보겠습니다. 승리 조건이 True 라면 승리를
False 라면 Power == ComputerPower 비교를 진행하고 True 라면 무승부를
False 라면 패배를 출력합니다.

전체 로직입니다. OR 뒤에 Branch만 SET 뒤로 연결해주면 끝입니다.
'언리얼+블루프린트' 카테고리의 다른 글
| 언리얼 + 블루프린트로 3D 게임 개발 -5(상속, 클래스, 인스턴스) (0) | 2026.02.01 |
|---|---|
| 언리얼 + 블루프린트로 3D 게임 개발 -3 (0) | 2026.02.01 |
| 언리얼 + 블루프린트로 3D 게임 개발 -2 (0) | 2026.01.29 |
| 언리얼 + 블루프린트로 3D 게임 개발 -1 (0) | 2026.01.29 |