Only the table host splits the pot; host buttons beside the table name
- Showdown winners can now be chosen only by the table host (others see "ホストが勝者を選んでいます"); if the host leaves, the next host does it - START / pause moved into the header to the right of the table name (pause is an icon button), freeing the row they used to occupy Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e89d867f85
commit
6d33440048
6 files changed
+50
-34
No files matched your search
+27
-9
@@ -131,22 +131,40 @@ test('勝者の指定: 山分け(端数はボタンの左から)と不正な
|
||||
assert.equal(t.act(tk(t, bb), 'check', 0), null);
|
||||
checkDown(t);
|
||||
assert.equal(h.street, 'SHOWDOWN');
|
||||
t.hostToken = T(7); // ホストの特例を除いて確認する
|
||||
const host = T(0);
|
||||
|
||||
assert.equal(t.award(tk(t, sb), [[bb]]), 'ショーダウンに残った人かホストが選んでください');
|
||||
assert.ok(t.award(tk(t, bb), []));
|
||||
assert.ok(t.award(tk(t, bb), [[]]));
|
||||
assert.ok(t.award(tk(t, bb), [[sb]])); // フォールドした人は勝てない
|
||||
assert.ok(t.award(tk(t, bb), [[bb, bb]]));
|
||||
assert.ok(t.award(tk(t, bb), [[bb], [btn]])); // ポットは1つ
|
||||
// ホスト以外は、ショーダウンに残った人でも分配できない
|
||||
for (const s of [sb, bb, btn]) {
|
||||
if (tk(t, s) !== host) assert.equal(t.award(tk(t, s), [[bb]]), 'ポットの分配はホストのみ行えます');
|
||||
}
|
||||
assert.ok(t.award(T(8), [[bb]])); // 着席していない
|
||||
assert.ok(t.award(host, []));
|
||||
assert.ok(t.award(host, [[]]));
|
||||
assert.ok(t.award(host, [[sb]])); // フォールドした人は勝てない
|
||||
assert.ok(t.award(host, [[bb, bb]]));
|
||||
assert.ok(t.award(host, [[bb], [btn]])); // ポットは1つ
|
||||
assert.ok(!h.finished);
|
||||
|
||||
assert.equal(t.award(tk(t, bb), [[bb, btn]]), null);
|
||||
assert.equal(t.award(host, [[bb, btn]]), null);
|
||||
// 50 を2人で → 25 ずつ
|
||||
assert.equal(t.seats[bb].stack, 1005);
|
||||
assert.equal(t.seats[btn].stack, 1005);
|
||||
assert.equal(t.award(tk(t, bb), [[bb]]), 'ショーダウンではありません');
|
||||
assert.equal(t.award(host, [[bb]]), 'ショーダウンではありません');
|
||||
});
|
||||
|
||||
test('ホストが退席したら次のホストが分配する', () => {
|
||||
const t = makeTable([1000, 1000, 1000]);
|
||||
t.start(T(0), 0);
|
||||
const h = t.hand;
|
||||
// ホスト(席0)以外の2人と一緒にショーダウンまで進め、ホストが退席する
|
||||
checkDown(t);
|
||||
assert.equal(h.street, 'SHOWDOWN');
|
||||
t.leave(T(0));
|
||||
assert.notEqual(t.hostToken, T(0));
|
||||
const live = h.live().map((p) => p.seat);
|
||||
assert.equal(t.award(T(0), [[live[0]]]), 'ポットの分配はホストのみ行えます');
|
||||
assert.equal(t.award(t.hostToken, [[live[0]]]), null);
|
||||
assert.ok(h.finished);
|
||||
});
|
||||
|
||||
test('端数はボタンの左から配る', () => {
|
||||
|
||||
Reference in new issue
Block a user