가위바위보
🌱 Answer 1: 첫 번째 방식
1-1. 대략적인 알고리즘
- 플레이어는 키보드 입력으로 가위, 바위, 보 중 하나를 선택합니다.
- 컴퓨터는 랜덤한 값을 선택합니다. (0~2)
- 먼저 무승부 여부를 판단합니다.
- 무승부가 아니면 승패를 판단합니다.
- 최종 결과를 출력합니다.
1-2. 주요 블루프린트 구성
1. 플레이어와 컴퓨터 값 설정
- 플레이어:
SET
노드를 사용해, 키보드 입력과 특정 열거형 값(Rock, Paper, Scissors)을 매핑합니다.
- 키보드 입력 예:
1
: Rock
2
: Paper
3
: Scissors
- 컴퓨터:
Random Integer
노드를 사용해 0~2 범위의 랜덤 값을 생성합니다.
- 이를
SET
노드에 연결해 컴퓨터의 선택을 저장합니다.
2. 무승부 판단
- 조건: 플레이어의 선택과 컴퓨터의 선택이 동일하면 무승부로 판단합니다.
- 블루프린트:
Branch
노드를 사용해 Player == Enemy
조건을 판단합니다.
- 조건이
True
이면 바로 Print Text
로 "Draw" 출력.
3. 승패 판단
- 승리 조건:
- 플레이어: Rock, 컴퓨터: Scissors
- 플레이어: Paper, 컴퓨터: Rock
- 플레이어: Scissors, 컴퓨터: Paper
- 패배 조건:
- 블루프린트:
Switch on Enum
노드로 플레이어의 선택을 기준으로 분기.
- 각 선택에 따라 컴퓨터의 값을 비교하여 승리 또는 패배를 결정.
4. 최종 결과 출력
- 무승부는 "Draw", 승리는 "Win", 패배는 "Lose"를 출력.
- 각각의 분기에서
Print Text
노드로 결과 출력.
1-3. 결과
- 플레이어가 키를 누를 때마다 결과가 출력됩니다.
- 무승부, 승리, 패배 세 가지 결과가 나옵니다.
🌱 Answer 2: 두 번째 방식
2-1. 알고리즘 차이점
- 4, 5, 6번 키를 사용해 입력합니다. (4: 바위, 5: 보, 6: 가위)
- 승패, 무승부 여부를 한 번에 판단합니다.
- Check Winner라는 커스텀 이벤트로 승패 판정을 분리하여 처리합니다.
2-2. 주요 블루프린트 구성
1. 커스텀 이벤트 사용
Check Winner
라는 이벤트를 생성하여 승패 판정 로직을 모듈화.
- 이점:
- 코드 재사용성을 높임.
- 복잡한 로직을 단순화.
2. 승패 판정
Switch on Enum
노드로 플레이어와 컴퓨터 값을 각각 확인.
- 승리, 패배, 무승부 조건을 한꺼번에 비교하고 결과를 출력.
- 블루프린트:
Branch
를 많이 사용하지 않고, Switch on Enum
과 Print Text
를 조합해 간결하게 작성.
2-3. 결과
- 코드가 더 간단하고 규칙적.
- 1번 방식보다 직관적이고 유지보수가 용이.