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

RecordedActiontype

A native action recording with the logical position needed for deterministic replay.

Import it

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

Definition

type RecordedAction = {
    readonly kind: 'remove';
    readonly move: number;
    readonly stoneId: number;
} | {
    readonly kind: 'select-tool';
    readonly tool: StoredTool;
} | {
    readonly kind: 'target-tool';
    readonly cell: number;
} | {
    readonly kind: 'confirm-tool';
    readonly move: number;
} | {
    readonly kind: 'cancel-tool';
} | {
    readonly kind: 'undo';
    readonly move: number;
} | {
    readonly kind: 'hint';
    readonly witnessIndex: number;
} | {
    readonly kind: 'ticks';
    readonly count: number;
};

Examples

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

const value: RecordedAction = {kind:"ticks",count:1};
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'kind', 'count' ]

What it prints (run when this page was built)

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