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 · Magnetic Blocks

impactSupportIdsfunction

Collects the occupied one-cell support layer under both block columns at first contact.

Import it

import { impactSupportIds } from "@johnmorrisdotca/houseki/magnetic-blocks";

Definition

function impactSupportIds(block: Block, board: readonly (Gem | null)[], width: number, height: number, mask: readonly boolean[]): readonly number[]

Parameters

NameTypeDescription
blockBlock

The native active 2×2 block and its stable gem ids.

boardreadonly (Gem | null)[]

The row-major native board; null cells are empty or masked.

widthnumber

The native board width in cells.

heightnumber

The native board height in cells.

maskreadonly boolean[]

The row-major active-cell mask; false cells cannot hold gems.

Returns

readonly number[]

Collects the occupied one-cell support layer under both block columns at first contact.

Examples

import { createGame, impactSupportIds } from "@johnmorrisdotca/houseki/magnetic-blocks";

const state=createGame({seed:"docs"});
console.log(impactSupportIds(state.active!,state.board,state.settings.width,state.settings.height,state.settings.mask).length);
0

What it prints (run when this page was built)

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