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

NatureEventtype

An emitted native magnetic marking, attraction or power-drop event.

Import it

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

Definition

type NatureEvent = {
    readonly type: 'magnetic-pulse';
    readonly pairs: readonly AttractionPairPreview[];
    readonly moves: readonly NatureMove[];
} | {
    readonly type: 'magnetic-stones-marked';
    readonly ids: readonly number[];
    readonly randomState: number;
} | {
    readonly type: 'power-drop-landed';
    readonly power: boolean;
    readonly rebound: boolean;
    readonly direction?: HorizontalDirection;
    readonly quarterTurn: QuarterTurn;
    readonly moves: readonly NatureMove[];
    readonly ids: readonly number[];
};

Examples

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

const state=createNatureState({width:4,height:4,seed:"docs"});
const value: NatureEvent = {type:"magnetic-stones-marked",ids:[],randomState:state.randomState};
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'type', 'ids', 'randomState' ]

What it prints (run when this page was built)

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