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 · Shizen and Arashi environments

EnvironmentEventtype

A committed earthquake or lightning event with its native preview fields.

Import it

import type { EnvironmentEvent } from "@johnmorrisdotca/houseki/nature";

Definition

type EnvironmentEvent = {
    readonly type: 'fault-opened';
    readonly path: readonly number[];
    readonly fracturedCells: readonly number[];
    readonly removedIds: readonly number[];
} | {
    readonly type: 'jumble-completed';
    readonly changed: boolean;
    readonly reason?: 'no-eligible-patch';
    readonly patchCells: readonly number[];
    readonly moves: readonly NatureMove[];
} | {
    readonly type: 'lightning-struck';
    readonly columns: readonly number[];
    readonly removedCells: readonly number[];
    readonly removedIds: readonly number[];
};

Examples

import { applyLightning, createNatureState } from "@johnmorrisdotca/houseki/nature";
import type { EnvironmentEvent } from "@johnmorrisdotca/houseki/nature";

const state=createNatureState({width:4,height:4,seed:"docs"});
const value: EnvironmentEvent = applyLightning(state,{columns:[0]}).events[0];
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'type', 'columns', 'removedCells', 'removedIds' ]

What it prints (run when this page was built)

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