Skip to the content

Toranpuトランプ

Use a deck, play eleven games with computers, solve a solitaire, or display cards in your own design.

Toranpu is Japanese for playing cards. About the name

Contents

Reference · President

PresidentGametype

A GAME OF PRESIDENT: its table and moves (what is kept), and the round they have reached. size is how many rounds the game lasts: 3, 5 or 7.

Import it

import type { PresidentGame } from "@johnmorrisdotca/toranpu/president";

Definition

type PresidentGame = KeptCardGame<PresidentMove> & ClimbTrick & {
    round: number;
    phase: "exchange" | "playing" | "over";
    out: number[];
    titles: number[] | null;
    owed: {
        from: number;
        to: number;
        count: number;
    }[];
    swaps: PresidentSwap[];
    scores: number[];
    rounds: number[][];
};

Members

NameTypeDescription
sizenumber
playersreadonly string[]
computersreadonly boolean[]
seednumber
movesreadonly PresidentMove[]
handsstring[][]
pileClimbPlay | null

The cards to beat, or null when the seat to play leads.

passedboolean[]

Who has passed on this trick: they wait until it is cleared.

toPlaynumber | null

Whose move it is; null once the game is over.

playedstring[]

Every card played this deal, in order: what the whole table has seen.

roundnumber

Which round this is, from 0.

phase"playing" | "over" | "exchange"

Handing cards over before the round, playing it, or the game over.

outnumber[]

The order players went out this round, first to last so far.

titlesnumber[] | null

The order they went out last round, which gives this round's titles; null in the first.

owed{ from: number; to: number; count: number; }[]

The hands-back still owed this round, in order: who gives, to whom, how many.

swapsPresidentSwap[]

What has changed hands this round, both ways.

scoresnumber[]

Each seat's points so far: the most wins.

roundsnumber[][]

Each finished round's finishing order, first out first.

Examples

import { CARD_GAME_TABLES, newGame } from "@johnmorrisdotca/toranpu";
import type { PresidentGame } from "@johnmorrisdotca/toranpu/president";

const names = Array.from({ length: CARD_GAME_TABLES.president.defaultPlayers }, (_, seat) => `Seat ${seat + 1}`);
const game = newGame("president", { players: names, seed: 42 })!;
const value: PresidentGame = game;
console.log(value.phase);
playing

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/toranpu 2.15.0.