Implement Texas Hold'em play: dealing, betting, side pots, showdown
- Hand engine (server/hand.js): crypto-shuffled deck kept server-side, blinds (heads-up button = SB), min-raise rules incl. incomplete all-in, uncalled bet refunds, side pots, split pots, all-in runout - Hand evaluator (server/cards.js) and node:test suite (npm test) - Table flow: hands auto-continue after host START, 30s action clock (timeout = check/fold + sit out), sit out / sit in, rebuy, mid-hand leave folds and keeps the seat reserved until the hand ends, pause freezes all clocks - Only each player's own hole cards are sent until a showdown/runout reveal; all actions validated server-side - Play UI: board, hole cards, bets, action tags, turn timer, raise panel with presets, showdown results with winning cards highlighted, compact 7+ layout - Remove the host crown and the temporary "next phase" control Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b2c91062f1
commit
8de55f7ca5
12 files changed
+1648
-167
No files matched your search
@@ -53,6 +53,16 @@ module.exports = {
|
||||
// 誰も接続していないテーブルを削除するまでの時間
|
||||
EMPTY_TABLE_TTL_MS: 30 * 60 * 1000,
|
||||
|
||||
// 1手の持ち時間。過ぎると自動でチェック/フォールドして離席扱い
|
||||
ACTION_TIME_MS: 30 * 1000,
|
||||
// オールインで残りのカードをめくる間隔
|
||||
RUNOUT_STEP_MS: 1500,
|
||||
// ハンド終了後、次のハンドまで結果を表示する時間
|
||||
SHOWDOWN_MS: 5000,
|
||||
FOLD_WIN_MS: 2500,
|
||||
// 参加者が2人揃ってから次のハンドを始めるまで
|
||||
NEXT_HAND_DELAY_MS: 2000,
|
||||
|
||||
// 鍵入力のブルートフォース対策
|
||||
// IP(IPv6 は /64 単位)ごと: WINDOW 内で MAX_FAILURES 回まで
|
||||
AUTH_MAX_FAILURES: 5,
|
||||
|
||||
Reference in new issue
Block a user