놀이터 › 텍사스 홀덤 › 홀덤 족보 순서와 이 게임의 실제 수치
홀덤 족보 순서와 이 게임의 실제 수치
홀덤 족보는 위에서부터 로열 스트레이트 플러시, 스트레이트 플러시, 포카드, 풀하우스, 플러시, 스트레이트, 트리플, 투페어, 원페어, 하이카드 순서로 10가지입니다. 아래 표에 각각이 무엇인지와 이 게임에서 어떻게 표시되는지를 정리했습니다.
족보 10가지
| 순위 | 이름 | 무엇인가 | 예 |
|---|---|---|---|
| 1 | 로열 스트레이트 플러시 | A K Q J 10 이 전부 같은 무늬 | A♠ K♠ Q♠ J♠ 10♠ |
| 2 | 스트레이트 플러시 | 이어진 숫자 다섯 장이 같은 무늬 | 9♥ 8♥ 7♥ 6♥ 5♥ |
| 3 | 포카드 | 같은 숫자 네 장 | K K K K + 아무거나 |
| 4 | 풀하우스 | 트리플 하나와 원페어 하나 | J J J + 6 6 |
| 5 | 플러시 | 같은 무늬 다섯 장 | A♦ J♦ 8♦ 5♦ 2♦ |
| 6 | 스트레이트 | 이어진 숫자 다섯 장, 무늬는 달라도 됨 | 10 9 8 7 6 |
| 7 | 트리플 | 같은 숫자 세 장 | 7 7 7 + 아무거나 |
| 8 | 투페어 | 원페어 두 쌍 | J J + 6 6 + 아무거나 |
| 9 | 원페어 | 같은 숫자 두 장 | Q Q + 아무거나 |
| 10 | 하이카드 | 아무 족보도 없을 때 가장 높은 카드 | A 하나가 제일 높으면 A 탑 |
이 게임은 내 카드 2장과 바닥 5장을 합친 7장에서 가장 좋은 5장을 자동으로 골라 줍니다. 내가 계산할 필요가 없습니다. 고른 5장 중 족보를 실제로 이루는 카드에만 금테가 둘러집니다. 투페어라면 네 장에만 금테가 가고, 남는 한 장(키커)에는 안 갑니다.
같은 족보끼리는 숫자로 가립니다. 투페어 대 투페어면 높은 쌍부터 비교하고, 그것도 같으면 낮은 쌍, 그것도 같으면 남은 한 장으로 가립니다. 그래서 화면에 "J,6 투페어"처럼 숫자를 같이 띄웁니다. 상대 표시와 내 표시를 비교하면 누가 센지 바로 보입니다.
시작 카드 2장의 점수 (이 게임이 실제로 쓰는 값)
이 게임은 시작 카드 두 장을 0에서 1 사이 점수로 환산합니다. 계산식은 높은 숫자 × 2 + 낮은 숫자를 기본으로, 같은 숫자면 22점, 같은 무늬면 6점, 숫자가 붙어 있으면 4점, 하나 건너뛰면 2점을 더한 뒤 70으로 나눈 값입니다. 아래는 실제로 돌려 뽑은 값입니다.
| 시작 카드 | 점수 | 어느 정도인가 |
|---|---|---|
| A A | 0.829 | 최고. 상대가 올려도 받습니다 |
| K K | 0.786 | 거의 최고 |
| Q Q | 0.743 | 컴퓨터 상대가 올리기 시작하는 선 |
| J J | 0.700 | 좋지만 A나 K가 깔리면 조심 |
| 10 10 | 0.657 | 좋음 |
| A K 같은 무늬 | 0.643 | 좋음 |
| A Q 같은 무늬 / K Q 같은 무늬 | 0.600 | 갈 만함 |
| A K 다른 무늬 / A J 같은 무늬 | 0.557 | 갈 만함 |
| 7 7 | 0.529 | 중간 |
| J 10 같은 무늬 | 0.514 | 중간 |
| A 5 같은 무늬 / 10 9 같은 무늬 | 0.471 | 싼값에만 |
| 5 5 | 0.443 | 싼값에만 |
| Q 7 다른 무늬 | 0.357 | 다이 |
| 2 2 | 0.314 | 싸면 보고, 아니면 다이 |
| 9 5 다른 무늬 | 0.243 | 다이 |
| 8 3 다른 무늬 | 0.186 | 다이 |
| 7 2 다른 무늬 | 0.143 | 가장 나쁨 |
여기서 한 가지가 눈에 띕니다. 2 2(0.314)가 Q 7 다른 무늬(0.357)보다 점수가 낮게 나옵니다. 포켓페어 보너스 22점이 붙어도 숫자가 워낙 낮아 그렇습니다. 실제 포커 이론에서는 낮은 포켓페어가 더 가치 있다고 보는데, 이 게임의 계산식은 단순해서 그 부분을 다 반영하지 못합니다. 아는 사람은 이 틈을 이용할 수 있습니다.
컴퓨터 상대가 어떻게 판단하는가
상대의 판단 기준을 전부 공개합니다. 소스코드에 적힌 그대로입니다.
| 상황 | 기준 | 행동 |
|---|---|---|
| 패 강도 계산 (카드 깔리기 전) | 위 표의 시작 카드 점수 | - |
| 패 강도 계산 (카드 깔린 뒤) | 완성된 족보 등급 ÷ 9 | - |
| 흔들림 | 매번 ±0.08 범위로 섞음 | 읽히지 않게 |
| 사람이 많을 때 | 살아 있는 사람 1명 늘 때마다 0.035 깎음 | 더 조심 |
| 다이 기준 | 강도가 팟오즈 × 0.95 × 신중도보다 낮고, 동시에 0.4 × 신중도보다 낮을 때 | 다이 |
| 올리는 기준 | 강도 0.72 초과 + 65% × 공격성 확률 | 현재 베팅 + 판돈 × 0.6 으로 올림 |
| 찔러보는 기준 | 강도 0.55 초과 + 낼 게 없음 + 30% × 공격성 확률 | 판돈 × 0.5 로 올림 |
| 그 외 | 낼 게 없으면 체크, 있으면 콜 | - |
자리마다 성격 값이 다르게 배정됩니다. 신중도는 0.85에서 1.15 사이, 공격성은 0.7에서 1.4 사이에서 방을 만들 때 정해집니다. 신중도가 1.15인 상대는 0.46 미만이면 죽고, 0.85인 상대는 0.34 미만일 때만 죽습니다.
여기서 바로 쓸 수 있는 것이 둘 있습니다. 첫째, 강도 0.46을 넘는 패를 가진 상대는 절대 안 죽습니다. 7 7(0.529)을 든 상대에게 블러프를 걸어도 통하지 않습니다. 둘째, 상대는 판돈의 0.6배 또는 0.5배로만 올립니다. 올리는 금액이 판돈의 절반 남짓이면 세게 들어온 것이 아니라 그냥 평소 크기입니다.
카드가 깔린 뒤 상대는 내 패를 몇 점으로 보는가
플랍부터는 완성된 족보의 등급을 9로 나눈 값이 그대로 강도가 됩니다. 등급은 하이카드 1에서 스트레이트 플러시 9까지입니다. 실제로 돌려 뽑은 값입니다.
| 내 족보 | 등급 | 강도 | 상대가 이 패로 뭘 하는가 |
|---|---|---|---|
| 하이카드 | 1 | 0.111 | 낼 게 있으면 거의 다이 |
| 원페어 | 2 | 0.222 | 싸면 콜, 비싸면 다이 |
| 투페어 | 3 | 0.333 | 신중한 상대는 여기서 죽기도 함 |
| 트리플 | 4 | 0.444 | 거의 안 죽음. 블러프가 안 통하는 선 |
| 스트레이트 | 5 | 0.556 | 낼 게 없으면 찔러 봄 |
| 플러시 | 6 | 0.667 | 가끔 올림 |
| 풀하우스 | 7 | 0.778 | 올립니다 |
| 포카드 | 8 | 0.889 | 올립니다 |
| 스트레이트 플러시 | 9 | 1.000 | 올립니다 |
여기서 세 가지 선이 보입니다. 다이하는 선은 0.4 × 신중도, 즉 0.34에서 0.46 사이입니다. 트리플(0.444)부터는 신중도가 아주 높은 상대만 간신히 죽습니다. 찔러 보는 선은 0.55이니 스트레이트부터입니다. 올리는 선은 0.72이니 풀하우스부터입니다.
그래서 상대가 카드 깔린 뒤에 올렸다면 풀하우스 이상일 가능성이 높습니다. 다만 매번 ±0.08 흔들림이 섞이고 사람이 많으면 강도를 깎으니, 플러시로도 올릴 때가 있습니다. 반대로 내가 트리플 이하를 들고 블러프를 걸어도 상대는 거의 안 죽는다는 뜻이기도 합니다. 이 게임에서 블러프는 잘 안 통합니다.
바닥 카드를 보고 조심할 것
바닥에 깔린 공용 카드는 모두의 것입니다. 내 패가 좋아 보여도 바닥 모양에 따라 상대가 더 좋을 수 있습니다. 세 가지만 보면 됩니다.
| 바닥 모양 | 무엇이 위험한가 | 어떻게 할까 |
|---|---|---|
| 같은 무늬 3장 | 누군가 같은 무늬 두 장을 들고 있으면 플러시입니다 | 내 투페어나 트리플이 져 있을 수 있습니다. 크게 걸지 않습니다 |
| 숫자가 이어진 3장 (예: 7 8 9) | 스트레이트가 이미 완성돼 있을 수 있습니다 | 한 장만 더 이어져도 위험합니다. 하프 이상은 피합니다 |
| 바닥에 같은 숫자 2장 | 누군가 그 숫자를 들고 있으면 트리플, 다른 페어와 합치면 풀하우스입니다 | 내 투페어는 생각보다 약합니다 |
| A나 K가 깔림 | 상대가 A나 K를 들고 있으면 내 중간 페어는 집니다 | J J 같은 패로 끝까지 가지 않습니다 |
| 아무것도 안 맞는 낮은 카드만 | 아무도 못 맞췄을 가능성이 큽니다 | 내가 먼저 걸어 가져올 수 있는 자리입니다 |
내 족보를 이루는 카드에 금테가 둘러진다는 점을 여기서 활용할 수 있습니다. 바닥 카드 중 금테가 안 둘러진 카드가 많다면, 그 카드들은 상대에게만 쓸모가 있을 수 있다는 뜻입니다. 특히 같은 무늬가 세 장 깔렸는데 내 금테가 두 장뿐이면 내 패는 플러시가 아니라는 의미입니다.
게임 안의 시간
화면이 넘어가는 속도도 숫자로 정해져 있습니다. 실제 한게임 포커 화면을 영상으로 받아 노란 타이머 링의 픽셀을 10분의 1초 단위로 세어 맞춘 값입니다.
| 무엇 | 시간 | 비고 |
|---|---|---|
| 내 생각 시간 | 7초 | 배속과 상관없이 고정 |
| 컴퓨터 상대 생각 시간 | 0.9 ~ 2.6초 | 배속으로 나눔 |
| 베팅이 끝나고 칩이 판돈으로 | 0.62초 | 배속으로 나눔 |
| 카드 한 장이 깔리는 간격 | 0.52초 | 배속으로 나눔 |
| 한 판 끝나고 다음 판까지 | 1배속 3.2초 / 3배속 2.3초 / 5배속 1.8초 | - |
참고로 원본 한게임 화면의 타이머는 실측 약 7.5초였고, 상대가 고민한 시간은 1.1초에서 3.6초 사이였습니다. 우리 값은 거기에 맞춘 것입니다.
용어 풀이
| 말 | 뜻 |
|---|---|
| 프리플랍 | 바닥에 카드가 깔리기 전, 내 두 장만 보고 베팅하는 단계 |
| 플랍 | 바닥에 공용 카드 3장이 깔리는 단계 |
| 턴 | 4번째 공용 카드 |
| 리버 | 5번째이자 마지막 공용 카드 |
| 쇼다운 | 남은 사람끼리 패를 까서 승부를 가리는 것 |
| 블라인드 | 아무도 안 걸어도 미리 깔아야 하는 돈. 작은 쪽이 스몰, 큰 쪽이 빅 |
| 딜러 버튼 | 자리 옆의 D 표시. 한 판마다 한 자리씩 돌고, 베팅 순서를 정하는 기준 |
| 팟 | 판돈. 화면 가운데 Total 에 뜨는 금액 |
| 팟오즈 | 판돈 대비 내가 내야 하는 금액의 비율. 콜할지 정하는 기준 |
| 키커 | 족보를 이루고 남은 카드. 같은 족보끼리 승부를 가릴 때 씀 |
| 포켓페어 | 시작 두 장이 같은 숫자인 것 |
| 수트 | 같은 무늬. 시작 두 장이 같은 무늬면 플러시를 노릴 수 있음 |
| 사이드팟 | 칩이 적은 사람이 올인했을 때 남는 금액을 따로 떼어 만든 몫 |
이 게임을 어떻게 만들었나
먼저 규칙을 담당하는 엔진과 화면을 완전히 나눴습니다. 엔진은 카드를 섞고 베팅 순서를 돌리고 사이드팟을 계산하는 일만 합니다. 화면이 어떻게 생겼든 규칙은 같은 코드 한 벌이 처리합니다. 덕분에 화면을 여러 번 갈아엎는 동안 규칙은 한 번도 깨지지 않았습니다.
족보를 가리는 계산은 직접 짜지 않고 pokersolver 라는 공개 라이브러리를 썼습니다. 7장에서 최선의 5장을 뽑는 부분은 직접 짜면 거의 반드시 어딘가 틀립니다. 특히 A가 1로도 쓰이는 낮은 스트레이트(A 2 3 4 5)와 키커 비교에서 그렇습니다.
2026년 10월, 실제 한게임 포커 화면을 영상으로 받아 세부를 맞췄습니다. 타이머 링의 노란 픽셀을 초당 10번씩 세어 타이머 길이를 역산했고, 상대가 고민하는 시간도 같은 방법으로 쟀습니다. 이때 고친 것이 행동 표시를 아바타 옆 말풍선으로 옮긴 것, 내 족보를 이루는 카드에만 금테를 두른 것, 베팅이 끝나고 카드가 한 장씩 쉬었다 깔리게 한 것입니다. 그전에는 버튼을 누르자마자 바닥 카드 3장이 한꺼번에 튀어나왔습니다.
가장 오래 걸린 것은 화면 크기 문제였습니다. 창 크기가 어떻든 스크롤 없이 한 화면에 들어와야 했습니다. 결국 무대 높이의 100분의 1을 글자 크기 1rem으로 잡고 모든 크기를 rem으로 적는 방식으로 풀었습니다. 창이 커지면 전부 같은 비율로 커지고 작아지면 같이 작아집니다.
바뀐 기록
| 날짜 | 바뀐 것 |
|---|---|
| 2026-10-06 | 가로 고정 화면, 칩 캐러셀 대기실, 버튼 6칸 판으로 공개 |
| 2026-10-09 | 한게임 화면 실측 반영. 타이머 링, 행동 말풍선, 족보 금테, 카드가 한 장씩 깔리는 연출, 버튼 이름을 맥스로 변경 |
| 2026-10-09 | 생각할 시간을 7초 고정으로. 그전에는 배속으로 나뉘어 5배속 방에서 1.5초밖에 없었음 |