가위바위보 리자드 스포크 승패 수식과 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 승패 설명 가이드

  1. 상성 관계 텍스트 그래픽 연출: 스포크가 바위를 이길 때 단순히 "승리"만 표시하면 싱겁습니다. "Spock vaporizes Rock (스포크가 바위를 증발시켰습니다!)" 형태의 액션 문구와 애니메이션 이펙트를 띄워주면 게임의 재미가 배가됩니다.
  2. 연승(Streak) 기록 보존: 연속 5연승 이상 달성 시 골드 칭호 배지를 부여하고 브라우저 LocalStorage에 최다 연승 기록을 보존하는 스코어보드를 결합하는 것이 좋습니다.
가격 보기카톡 무료 상담