가위바위보 리자드 스포크 승패 수식과 5패 모듈로 알고리즘 가이드

클래식 3패와 확장 5패(리자드-스포크) 모드에서 AI와 가위바위보 대결을 펼치고 나의 연승 기록을 도전해 보세요.

간단한 내기나 의사결정을 내릴 때 세계에서 가장 널리 쓰이는 승부 게임이 클래식 가위바위보이며, 이를 5가지 패로 확장하여 승부의 균형을 극대화한 보드게임 알고리즘이 바로 **가위-바위-보-도마뱀-스포크(Rock-Paper-Scissors-Lizard-Spock)**입니다.
클래식 가위바위보는 3가지 패가 33.3%의 상성을 가질 뿐이지만, 미드 빅뱅 이론으로 대중화된 5패 확장판은 도마뱀(Lizard)과 스포크(Spock) 패가 추가되어 각각의 패가 다른 2개의 패를 이기고 2개의 패에 지는 완전 대칭 집합 구조를 이룹니다. 본 글에서는 5패 확장 가위바위보의 행렬 승패 수식과 연승 통계 엔진을 해설합니다.
1. 5패 확장 가위바위보 승패 행렬 수식 공식
5가지 패 $K = {0: ext{Rock}, 1: ext{Paper}, 2: ext{Scissors}, 3: ext{Spock}, 4: ext{Lizard}}$에 대해 플레이어 선택 $P$와 AI 선택 $C$ 사이의 승패 판정 모듈로 수식은 다음과 같습니다:
[ \text{Outcome}(P, C) = (P - C) \bmod 5 ]
승패 판정 값 조건:
- 판정 값 $in {1, 3}$: 플레이어 승리 (Victory).
- 판정 값 $in {2, 4}$: 플레이어 패배 (Defeat).
- 판정 값 $= 0$: 무승부 (Draw).
5패 간의 10대 상성 관계 수식:
- 가위(Scissors): 보(Paper)를 베고, 도마뱀(Lizard)의 목을 자름.
- 바위(Rock): 가위(Scissors)를 부수고, 도마뱀(Lizard)을 짓밟음.
- 보(Paper): 바위(Rock)를 감싸고, 스포크(Spock)를 이김.
- 도마뱀(Lizard): 스포크(Spock)를 중독시키고, 보(Paper)를 먹음.
- 스포크(Spock): 가위(Scissors)를 족치고, 바위(Rock)를 증발시킴.
2. 가위바위보 아레나 승패 판정 자바스크립트 소스
다음은 모듈로 연산을 기반으로 5패 상성을 판정하고 연속 승리(Win Streak)를 기록하는 소스 코드입니다:
const CHOICES = ["rock", "paper", "scissors", "spock", "lizard"];
function playRPSLS(playerChoiceStr) {
const pIndex = CHOICES.indexOf(playerChoiceStr);
const cIndex = Math.floor(Math.random() * 5);
const aiChoiceStr = CHOICES[cIndex];
// 5 모듈로 차분 연산
const diff = (pIndex - cIndex + 5) % 5;
let result = "draw";
if (diff === 1 || diff === 3) {
result = "win";
} else if (diff === 2 || diff === 4) {
result = "loss";
}
return {
player: playerChoiceStr,
ai: aiChoiceStr,
result,
explanation: getBattleExplanation(playerChoiceStr, aiChoiceStr)
};
}
[!NOTE] 수동으로 상성표를 외우며 승패를 계산할 필요 없이, 가위바위보 아레나 및 리자드-스포크 도구를 활용하면 클래식 3패와 확장 5패 모드를 토글하며 AI와의 불꽃튀는 대결 및 실시간 연승 통계 리포트를 확인할 수 있습니다.
클래식 3패와 확장 5패(리자드-스포크) 모드에서 AI와 가위바위보 대결을 펼치고 나의 연승 기록을 도전해 보세요.
3. 게임 퍼블리싱 시 UI 승패 설명 가이드
- 상성 관계 텍스트 그래픽 연출: 스포크가 바위를 이길 때 단순히 "승리"만 표시하면 싱겁습니다. "Spock vaporizes Rock (스포크가 바위를 증발시켰습니다!)" 형태의 액션 문구와 애니메이션 이펙트를 띄워주면 게임의 재미가 배가됩니다.
- 연승(Streak) 기록 보존: 연속 5연승 이상 달성 시 골드 칭호 배지를 부여하고 브라우저 LocalStorage에 최다 연승 기록을 보존하는 스코어보드를 결합하는 것이 좋습니다.
