GameStatustype
A compact native status derived from the authoritative state for a host’s labels.
Import it
import type { GameStatus } from "@johnmorrisdotca/houseki/gem-swap";
Definition
interface GameStatus {
readonly phase: GamePhase;
readonly score: number;
readonly moves: number;
readonly legalMoveCount: number;
readonly usedFallback: boolean;
readonly availableToolCount: number;
readonly inventory: ToolInventory;
readonly toolProgress: number;
readonly toolAwardCursor: number;
readonly assisted: boolean;
readonly blackHoleCharges: 0 | 1;
readonly blackHoleProgress: number;
readonly blackHole: BlackHolePortal | null;
readonly mode: GameMode;
readonly outcome: GameOutcome;
readonly remainingMoves: number | null;
readonly elapsedMs: number;
readonly remainingMs: number | null;
readonly goals: readonly Goal[];
readonly goalProgress: readonly {
readonly kind: Goal['kind'];
readonly current: number;
readonly target: number;
readonly colour?: GemColour;
readonly complete: boolean;
}[];
readonly bestChain: number;
}
Members
| Name | Type | Description |
|---|---|---|
phase | GamePhase | |
score | number | |
moves | number | |
legalMoveCount | number | |
usedFallback | boolean | |
availableToolCount | number | |
inventory | Readonly<Record<OrdinaryToolKind, number>> | |
toolProgress | number | |
toolAwardCursor | number | |
assisted | boolean | |
blackHoleCharges | 0 | 1 | |
blackHoleProgress | number | |
blackHole | BlackHolePortal | null | |
mode | GameMode | |
outcome | GameOutcome | |
remainingMoves | number | null | |
elapsedMs | number | |
remainingMs | number | null | |
goals | readonly Goal[] | |
goalProgress | readonly { readonly kind: Goal["kind"]; readonly current: number; readonly target: number; readonly colour?: GemColour; readonly complete: boolean; }[] | |
bestChain | number |
Examples
import { createGame, statusOf } from "@johnmorrisdotca/houseki/gem-swap";
import type { GameStatus } from "@johnmorrisdotca/houseki/gem-swap";
const state=createGame({seed:"docs"});
const value: GameStatus = statusOf(state);
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);[
'phase',
'score',
'moves',
'legalMoveCount',
'usedFallback',
'availableToolCount'
]What it prints (run when this page was built)