OhHellViewtype
A COMPUTER AT THE OH HELL TABLE. Bidding, it counts the tricks its hand should take — high trumps, long trumps, aces outside and, in a hand of a few cards, kings — and bids the nearest it may. Playing, it tries to take a trick while it has taken fewer than it bid, as cheaply as it can, and to lose every trick once it has made its bid, throwing its most dangerous cards while it can do so safely.
It reads a view of the game (ohHellView): its own hand, the turned card,
the bids and the cards played — nothing of another hand.
Import it
import type { OhHellView } from "@johnmorrisdotca/toranpu/oh-hell";
Definition
type OhHellView = {
seat: number;
hand: readonly CardId[];
trump: string;
bid: number | null;
took: number;
trick: readonly OhHellPlay[];
seats: number;
playable: readonly CardId[];
};
Members
| Name | Type | Description |
|---|---|---|
seat | number | |
hand | readonly string[] | |
trump | string | |
bid | number | null | |
took | number | |
trick | readonly OhHellPlay[] | |
seats | number | |
playable | readonly string[] |
Examples
import { CARD_GAME_TABLES, newGame } from "@johnmorrisdotca/toranpu";
import type { OhHellView } from "@johnmorrisdotca/toranpu/oh-hell";
import { ohHellView } from "@johnmorrisdotca/toranpu/oh-hell";
const names = Array.from({ length: CARD_GAME_TABLES.ohHell.defaultPlayers }, (_, seat) => `Seat ${seat + 1}`);
const game = newGame("ohHell", { players: names, seed: 42 })!;
const value: OhHellView = ohHellView(game);
console.log(value.hand.length);1What it prints (run when this page was built)