chooseThrowfunction
The card to throw: the one leaving the least deadwood; of those, not a card the other player could use, and the highest.
Import it
import { chooseThrow } from "@johnmorrisdotca/toranpu/gin-rummy";
Definition
function chooseThrow(view: GinView): CardId
Parameters
| Name | Type | Description |
|---|---|---|
view | GinView | The player-visible game information used by a computer. |
Returns
string
The card to throw: the one leaving the least deadwood; of those, not a card the other player could use, and the highest.
Examples
import { CARD_GAME_TABLES, newGame, rulesFor } from "@johnmorrisdotca/toranpu";
import { chooseThrow, ginView } from "@johnmorrisdotca/toranpu/gin-rummy";
const names = Array.from({ length: CARD_GAME_TABLES.ginRummy.defaultPlayers }, (_, seat) => `Seat ${seat + 1}`);
let game = newGame("ginRummy", { players: names, seed: 42 })!;
const rules = rulesFor("ginRummy");
for (let setup = 0; setup < 100 && game.phase !== "discard" && game.phase !== "over"; setup += 1) {
const next = rules.play(game, rules.computer(game));
if (next === null) throw new Error("Unexpected illegal setup move");
game = next;
}
if (game.phase !== "discard") throw new Error("Setup did not reach discard");
console.log(chooseThrow(ginView(game)));QSWhat it prints (run when this page was built)