Skip to the content

Houseki宝石

Run five native gem and stone engines, play measured challenges and lessons, and save deterministic games.

Houseki (宝石) is Japanese for a gem or precious stone. About the name

Contents

Reference · Stone Collapse

GameStatustype

A compact native status derived from the authoritative state for a host’s labels.

Import it

import type { GameStatus } from "@johnmorrisdotca/houseki/stone-collapse";

Definition

interface GameStatus {
    readonly mode: GameMode;
    readonly phase: GamePhase;
    readonly score: number;
    readonly moves: number;
    readonly removed: number;
    readonly remaining: number;
    readonly previewScore: number;
    readonly usedFallback: boolean;
    readonly assisted: boolean;
    readonly goal?: ChallengeGoal;
    readonly reason?: string;
    readonly inventory: ToolInventory;
    readonly toolProgress: number;
    readonly toolAwardCursor: 0 | 1;
    readonly selectedTool: StoredTool | null;
    readonly toolTarget: number | null;
    readonly toolPreview: readonly number[];
}

Members

NameTypeDescription
modeGameMode
phaseGamePhase
scorenumber
movesnumber
removednumber
remainingnumber
previewScorenumber
usedFallbackboolean
assistedboolean
goal (optional)ChallengeGoal | undefined
reason (optional)string | undefined
inventoryToolInventory
toolProgressnumber
toolAwardCursor0 | 1
selectedToolStoredTool | null
toolTargetnumber | null
toolPreviewreadonly number[]

Examples

import { createGame, statusOf } from "@johnmorrisdotca/houseki/stone-collapse";
import type { GameStatus } from "@johnmorrisdotca/houseki/stone-collapse";

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);
[ 'mode', 'phase', 'score', 'moves', 'removed', 'remaining' ]

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/houseki 0.4.2.