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

PowerDropPreviewtype

The pure normal landing, rebound attempts and final lock cells with resulting random state.

Import it

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

Definition

interface PowerDropPreview {
    readonly normalLanding: readonly NaturePieceCell[];
    readonly attempts: readonly ReboundAttemptPreview[];
    readonly rebound: boolean;
    readonly selectedDirection?: HorizontalDirection;
    readonly quarterTurn: QuarterTurn;
    readonly finalCells: readonly NaturePieceCell[];
    readonly moves: readonly NatureMove[];
    readonly randomStateAfter: number;
}

Members

NameTypeDescription
normalLandingreadonly NaturePieceCell[]
attemptsreadonly ReboundAttemptPreview[]
reboundboolean
selectedDirection (optional)HorizontalDirection | undefined
quarterTurnQuarterTurn
finalCellsreadonly NaturePieceCell[]
movesreadonly NatureMove[]
randomStateAfternumber

Examples

import { createNatureState, previewPowerDrop } from "@johnmorrisdotca/houseki/nature";
import type { PowerDropPreview, PowerDropRequest } from "@johnmorrisdotca/houseki/nature";

const state=createNatureState({width:4,height:4,seed:"docs"});
const request:PowerDropRequest={piece:[{id:1,kind:"stone",colour:"red",x:1,y:0}],pivotId:1,power:true};
const value: PowerDropPreview = previewPowerDrop(state,request);
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[
  'normalLanding',
  'attempts',
  'rebound',
  'selectedDirection',
  'quarterTurn',
  'finalCells'
]

What it prints (run when this page was built)

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