Switch to chips-only play: real cards at the table, winners picked on screen

- Remove the deck, hole cards, board, hand evaluator and reveal logic
  (cards are dealt physically; the site only tracks bets, pots and stacks)
- Showdown now waits for a winner per pot (main/side), chosen by a player
  still in the hand or the host; multiple winners split the pot
- All-in with no further betting goes straight to showdown
- Remove the 30s action clock / auto sit-out (everyone is at the same table)
- UI: winner picker panel (main winner auto-fills side pots), compact table

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
agomizi1cmandClaude Opus 5.5 committed 2026-10-15 17:46:10 +09:00
1 parent 8de55f7ca5
commit b5d84e5f65
11 files changed
+408 -605

No files matched your search

+9
View File
@@ -228,6 +228,15 @@ io.on('connection', (socket) => {
if (!Number.isSafeInteger(amount)) return '額が不正です';
return t.act(token, p.type, amount);
},
'table:award': (t, token, p) => {
// winners: ポットごとの勝者の席番号の配列
const w = p && typeof p === 'object' ? p.winners : null;
const ok =
Array.isArray(w) &&
w.length <= config.MAX_SEATS &&
w.every((a) => Array.isArray(a) && a.length <= config.MAX_SEATS && a.every((s) => Number.isInteger(s)));
return ok ? t.award(token, w) : '勝者の指定が不正です';
},
'table:sitOut': (t, token) => t.setSittingOut(token, true),
'table:sitIn': (t, token) => t.setSittingOut(token, false),
'table:rebuy': (t, token) => t.rebuy(token),