A table may ask each seat to rank its choices before the deal, in secret; the start line keeps the rankings and create reads them
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
eca8c92964
commit
8c99126aee
@@ -112,6 +112,11 @@ export class Room {
|
||||
return this.act(() => api.unseat(this.roomId, this.token, seat), 'The bot could not be sent away.');
|
||||
}
|
||||
|
||||
/** This seat's ranking of the table's choices, best first, before the game begins. */
|
||||
rank(ranking: string[]): Promise<boolean> {
|
||||
return this.act(() => api.rank(this.roomId, this.token, ranking), 'Your ranking was not kept.');
|
||||
}
|
||||
|
||||
/** Talk to the whole table, or, naming seats, to them alone. */
|
||||
say(text: string, to?: SeatId[]): Promise<boolean> {
|
||||
if (this.spectating) return Promise.resolve(false);
|
||||
@@ -166,7 +171,9 @@ export class Room {
|
||||
static async createWithBot(name: string, options?: TableOptions): Promise<Room> {
|
||||
const seated = await api.create(name, 2, options);
|
||||
rememberSeat(seated.view.roomId, { seat: seated.seat, token: seated.token });
|
||||
await api.addBot(seated.view.roomId, seated.token);
|
||||
const view = await api.addBot(seated.view.roomId, seated.token);
|
||||
// A table that asks for rankings waits in the lobby for the player's; the rest begin at once.
|
||||
if (game.rankable?.(view.options)) return new Room(view, seated.token);
|
||||
return new Room(await api.begin(seated.view.roomId, seated.token), seated.token);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user