กติกา No-Limit Hold'em
และฟีเจอร์ทั้งหมดของ XPoker

เอกสารสรุปเชิงลึกจากการศึกษาแอป XPoker — เฉพาะ Texas Hold'em No-Limit เท่านั้น ใช้เป็น functional spec สำหรับสร้างแพลตฟอร์มโป๊กเกอร์ของเราเอง ครอบคลุมกติกาการเล่น สูตรเดิมพัน side pot ประกัน all-in และฟีเจอร์บนโต๊ะครบทุกตัว

No-Limit Hold'em เท่านั้น อัปเดต 16 ก.ค. 2026 Phase 2 Engine Spec

01รูปแบบโต๊ะ NL Hold'em

ไพ่มือ 2 ใบ + บอร์ด 5 ใบ เลือกใช้ 0–2 ใบจากมือได้ — เดิมพันแบบ No-Limit (all-in ได้ทุกเมื่อ)

👥9-Max (Full Ring)

โต๊ะเต็ม 9 ที่นั่ง — เกมช้ากว่า เล่นไพ่แน่นกว่า เหมาะผู้เล่นทั่วไป

⚔️6-Max

โต๊ะ 6 ที่นั่ง — action เยอะ เล่นไพ่กว้างขึ้น รูปแบบยอดนิยมของเกมออนไลน์

🤺Heads-Up

ตัวต่อตัว — ปุ่ม Dealer วาง SB เอง เล่นก่อนใน preflop แต่เล่นทีหลังใน postflop

💵Cash Game

ชิป = เงินจริง เข้า-ออกได้ตลอด buy-in ขั้นต่ำ/สูงสุดตามที่โต๊ะกำหนด (เช่น 50–200bb)

🎚️Straddle Option

เปิดให้ UTG วางเดิมพันมืด 2xBB ก่อนแจกไพ่ได้ — เพิ่มขนาด pot (ดูกติกาหัวข้อ 05)

💣Bomb Pot Option

มือพิเศษในเกม NLH — ทุกคนลง ante ข้าม preflop เริ่มเล่นที่ flop เลย

02ลำดับการเล่นหนึ่งมือ (Hand Flow)

State machine ของเกม: BLINDS → DEAL → PREFLOP → FLOP → TURN → RIVER → SHOWDOWN → PAYOUT

1
วาง Blinds

คนซ้ายปุ่ม Dealer วาง Small Blind, คนถัดไปวาง Big Blind — blind เป็น "เดิมพันมีชีวิต" นับรวมยอด call ได้ · Heads-up: ปุ่ม Dealer วาง SB เอง เล่นก่อน preflop แต่เล่นทีหลัง postflop

2
แจกไพ่มือ 2 ใบ

แจกตามเข็มนาฬิกาเริ่มจาก SB — ถ้าเปิดโหมด Straddle UTG จะวาง 2xBB ก่อนแจกไพ่

3
Preflop

เริ่ม action ที่ UTG (ซ้าย BB) — BB ได้สิทธิ์ปิดท้าย ถ้าไม่มีใคร raise เลือก check (option) หรือ raise ได้ · ถ้ามี straddle คน straddle ได้ act สุดท้ายแทน

4
Flop → Turn → River

เปิดบอร์ด 3 / 1 / 1 ใบ แต่ละรอบเริ่ม action จากคนแรกที่ยังอยู่ทางซ้ายของปุ่ม Dealer · รอบจบเมื่อทุกคนตามครบ, all-in หมด หรือ fold เหลือคนเดียว (ชนะทันที ไม่ต้องเปิดไพ่)

5
Showdown

ถ้ามีการ bet ที่ river: คน bet/raise สุดท้ายเปิดไพ่ก่อน แล้ววนตามเข็ม · ถ้า check กันหมด: คนซ้ายปุ่มเปิดก่อน · แอปจะ auto-muck มือแพ้ / auto-show มือชนะ

6
จ่าย Pot

มือดีสุด 5 ใบชนะ — เสมอกันแบ่งเท่ากัน เศษชิปที่หารไม่ลงตัว (odd chip) ให้คนแรกตามเข็มจากปุ่ม Dealer แยกคิดต่อ pot

All-in ก่อน river: ถ้าเหลือ ≥2 คนที่ all-in หมดและไม่มี action เหลือ ระบบเปิดไพ่ทุกคนทันที แล้วแจกบอร์ดที่เหลืออัตโนมัติ — จุดนี้คือที่ที่ Insurance และ Run It Twice ทำงาน

03กติกาเดิมพัน (No-Limit)

หัวใจของ engine — ส่วนที่คนทำผิดบ่อยที่สุด

Min Bet / Min Raise

ตัวอย่าง
BB = 100 · ผู้เล่น A raise เป็น 300 (ขนาด raise = 200) → คนถัดไปถ้าจะ re-raise ต้องอย่างน้อย 300 + 200 = 500

Incomplete Raise (all-in ไม่ถึง min-raise)

กฎที่พลาดกันบ่อยที่สุด: ถ้ามีคน all-in ด้วยยอดที่ ไม่ถึง min-raise → ไม่ถือเป็น raise เต็ม ผู้เล่นที่ act ไปแล้วในรอบนั้นทำได้แค่ call หรือ fold ห้าม re-raise และไม่เปลี่ยนค่า lastRaiseSize · คนที่ยังไม่ได้ act ยัง raise ได้ปกติ

Side Pots (หลายคน all-in)

สร้าง pot เป็นชั้นตามระดับเงินที่แต่ละคนลงได้ (contribution levels) — คนที่ fold แล้วเงินยังอยู่ใน pot แต่ไม่มีสิทธิ์ลุ้น

ตัวอย่าง 4 คน

A (stack 100) · B (300) · C (1,000) · D (1,000) — A all-in 100, B all-in 300, C call, D raise 1,000, C call

  1. Main pot = 100 × 4 = 400 → ลุ้นได้ทุกคน (A, B, C, D)
  2. Side pot 1 = (300−100) × 3 = 600 → B, C, D
  3. Side pot 2 = (1,000−300) × 2 = 1,400 → C, D

จ่ายจาก side pot บนสุดย้อนกลับลงไป main pot · ถ้า raise แล้วไม่มีใคร call ยอดส่วนเกิน คืนผู้ raise ก่อน สร้าง pot

Blinds ที่พลาด (Missed Blinds)

ผู้เล่นที่ sit-out ข้าม blind แล้วกลับมา: ค่า default ที่แนะนำ = รอถึงตา BB (แบบเดียวกับแอปมือถือส่วนใหญ่) — โหมด dead-blind posting ทำเป็น config เสริม

04อันดับไพ่ (สูง → ต่ำ)

เลือกไพ่ดีสุด 5 ใบจาก 7 ใบ (มือ 2 + บอร์ด 5) — ใช้ไพ่มือ 0, 1 หรือ 2 ใบก็ได้

รอยัลฟลัชRoyal FlushA♠ K♠ Q♠ J♠ 10♠
สเตรทฟลัชStraight Flush9♥ 8♥ 7♥ 6♥ 5♥
โฟร์การ์ดFour of a KindK♠ K♥ K♦ K♣ 7♦
ฟูลเฮาส์Full HouseJ♠ J♥ J♣ 4♦ 4♣
ฟลัชFlushA♣ 10♣ 8♣ 6♣ 3♣
สเตรทStraight9♠ 8♥ 7♣ 6♦ 5♠
ตองThree of a KindQ♠ Q♥ Q♣ 9♦ 5♠
สองคู่Two PairA♠ A♦ 8♣ 8♥ K♠
หนึ่งคู่One Pair10♠ 10♥ A♣ 7♠ 4♦
ไพ่สูงHigh CardA♠ Q♦ 9♣ 6♠ 3♥

05ฟีเจอร์บนโต๊ะทั้งหมด

ฟีเจอร์ที่ยืนยันแล้วว่ามีใน XPoker — พร้อมกติกาของแต่ละตัว

ฟีเจอร์กติกา / รายละเอียด
StraddleUTG วางเดิมพันมืด 2xBB ก่อนแจกไพ่ เป็น live blind — ได้สิทธิ์ act สุดท้ายใน preflop · min raise-to กลายเป็น 4xBB · restraddle ต่อได้ (2 เท่าของ straddle ก่อนหน้า) · เปิด/ปิดโดยเจ้าของ club · ไม่มีผล postflop
Run It Twiceใช้ได้เมื่อ all-in แล้วไม่มี action เหลือ — ทุกคนต้องยินยอม (มักตั้ง toggle ล่วงหน้า) · แจกไพ่ที่เหลือ 2 ชุดจากกองเดียวกันไม่สับใหม่ · ทุก pot แบ่งครึ่งต่อ runout · rake คิดครั้งเดียว
All-in Insuranceเสนอให้ฝ่ายเป็นต่อเมื่อ all-in ก่อน river (ดูหัวข้อ 06) — เปิด/ปิดโดย club · เลือกใช้พร้อม RIT ไม่ได้
Rabbit Huntเปิดดูไพ่บอร์ดที่ยังไม่แจกหลังทุกคน fold — ดูอย่างเดียวไม่มีผลกับ pot · ฟรีหรือเสียค่าธรรมเนียมตาม setting
Time Bankเวลาตัดสินใจปกติ + ธนาคารเวลาสำรองที่สะสม/เติมได้ · หมดเวลา = check ได้ก็ check ไม่ได้ก็ fold อัตโนมัติ
Auto-actionsปุ่มตั้งล่วงหน้า: Check/Fold · Check · Call Any · Fold — ทำงานทันทีเมื่อถึงตา
Sit-out / Awayพักชั่วคราวได้ · ข้าม blind แล้วระบบ sit-out ให้อัตโนมัติ · มี kick timer เตะออกจากโต๊ะถ้าหายนาน (ตั้งค่าได้)
Buy-in / Top-upผู้สร้างโต๊ะกำหนด min–max (เช่น 50–200bb) · auto top-up เติมเงินถึง max ให้อัตโนมัติระหว่างมือ
HUD ในตัวสถิติบน avatar ทุกคน: VPIP (% เล่นมือ) · PFR (% raise ก่อน flop) · จำนวนมือ — ไม่รองรับ HUD ภายนอก
Hand Historyดูย้อนหลัง + replay ในแอป · บันทึกมือโปรด + แชร์ให้เพื่อนได้
Squeeze Revealบีบเปิดไพ่แบบบ่อนจริง — เพิ่มความลุ้นตอน all-in showdown
Emoji / Throwablesส่งอิโมจิ + ปาของใส่กัน (มะเขือเทศ เบียร์ ฯลฯ)
Multi-tableเล่นพร้อมกันสูงสุด 4 โต๊ะบนมือถือ
Anti-cheatจำกัด GPS + IP (กันนั่งใกล้กัน/บัญชีซ้ำ) · AI ตรวจจับการสมรู้ร่วมคิด

Bomb Pot (กติกาละเอียด)

06ประกัน All-in (Insurance)

ฟีเจอร์เด่นของแอปสายเอเชีย — จ่ายเบี้ยกันโดนไพ่สวย

เงื่อนไขการเสนอ

• เกิดเมื่อ all-in ก่อน river แล้วเปิดไพ่กันหมด
• เสนอให้ฝ่ายเป็นต่อ (favorite) เท่านั้น
• คู่ต่อสู้ต้องมี ≤ 14 outs
• เสนอทีละ street: หลัง flop (คุ้มไพ่ turn) และหลัง turn (คุ้มไพ่ river)
• ปฏิเสธรอบ turn แล้วยังซื้อรอบ river ได้

วิธีคิดเบี้ย

• เลือกวงเงินประกัน (สูงสุด = pot)
• เบี้ยคิดจากจำนวน outs ของคู่ต่อสู้
• สูตรจริง ≈ (ไพ่ที่ยังไม่เห็น − outs) : outs บวก margin เจ้ามือ 2–7%
• ถ้าโดนสวน → รับเงินประกันเต็มวงเงิน
• ถ้าชนะเอง → เสียแค่เบี้ย

ตาราง Odds มาตรฐาน (จ่าย : เบี้ย)

Outs คู่ต่อสู้123456789101214
Odds30:115:110:17:16:15:14:13.5:13:12.5:12:11.6:1
ตัวอย่าง
คุณถือ A♣A♥ บอร์ด A♠K♥10♦ — คู่ต่อสู้ all-in ด้วย K♥K♦ (เหลือ 4 outs ทำอะไรคุณได้) → equity คุณ ~92% · ซื้อประกันวงเงิน ฿24,000 ที่ odds 7:1 = เบี้ย ฿3,430 · ถ้าโดน K ใบที่เหลือสวน รับ ฿24,000 · ถ้าชนะเอง เสียแค่เบี้ย
Engine ต้องนับ outs จริง โดย enumerate ไพ่ที่เหลือในสำรับทุกใบว่าใบไหนพลิกผล — chop outs (ใบที่ทำให้เสมอ) นับครึ่งหรือตัดทิ้งตาม config

07Engine Checklist (Phase 2)

สิ่งที่ต้องมีตอน implement จริงด้วย FastAPI + Socket.IO

🎰 State Machine

WAITING → BLINDS → DEAL → PREFLOP → FLOP → TURN → RIVER → SHOWDOWN → PAYOUT · ทางลัด: all-fold (จบทันที), auto-runout (all-in หมด) · interstitial: Insurance / RIT prompt

📊 Per-street State

currentBet · lastRaiseSize · lastAggressor · actedSinceLastFullRaise (สำหรับกฎ incomplete raise)

💰 Pot Manager

contribution levels → side pots · คืน uncalled bet ก่อนสร้าง pot · eligibility ต่อ pot · odd chip ต่อ pot

🃏 Hand Evaluator

เลือกไพ่ดีสุด 5 ใบจาก 7 ใบ (มือ 2 + บอร์ด 5) — C(7,5) = 21 combos ต่อผู้เล่น · เทียบตามตารางอันดับหัวข้อ 04 พร้อม kicker

⚙️ Config Flags

dead blinds · straddle on/off + cap · ante mode (classic/BB-ante) · bomb pot ทุก N มือ · RIT on/off · insurance margin · rabbit fee · buy-in min/max

🔒 Fairness

สับไพ่ด้วย CSPRNG ต่อมือ · RIT ห้ามสับใหม่ · audit log ทุก action · GPS/IP restriction ระดับโต๊ะ

08พจนานุกรมศัพท์โป๊กเกอร์

พิมพ์คำที่สงสัยในช่องค้นหาด้านบน เช่น straddle, เรค, vpip — ค้นได้ทั้งอังกฤษและไทย

ไม่พบคำว่า "" — ลองสะกดแบบอื่น หรือถาม Richard เพิ่มได้
💡 คำที่มีขีดเส้นประ แตะ/ชี้เพื่อดูคำอธิบาย