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

NatureStatetype

The immutable native environment state with stable ids, seeded random state and placement count.

Import it

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

Definition

interface NatureState {
    readonly width: number;
    readonly height: number;
    readonly activeCells: readonly boolean[];
    readonly cells: readonly (NatureEntity | null)[];
    readonly seed: string;
    readonly randomState: number;
    readonly nextId: number;
    readonly committedPlacements: number;
    readonly rules: NatureRules;
}

Members

NameTypeDescription
widthnumber
heightnumber
activeCellsreadonly boolean[]
cellsreadonly (NatureEntity | null)[]
seedstring
randomStatenumber
nextIdnumber
committedPlacementsnumber
rulesNatureRules

Examples

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

const state=createNatureState({width:4,height:4,seed:"docs"});
const value: NatureState = state;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'width', 'height', 'activeCells', 'cells', 'seed', 'randomState' ]

What it prints (run when this page was built)

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