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 · Falling Triplets

compactBoardfunction

Compacts each column downward while preserving the top-to-bottom order of survivors.

Import it

import { compactBoard } from "@johnmorrisdotca/houseki/falling-triplets";

Definition

function compactBoard(board: readonly (Gem | null)[], width: number, height: number): readonly (Gem | null)[]

Parameters

NameTypeDescription
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.

Returns

readonly (Gem | null)[]

Compacts each column downward while preserving the top-to-bottom order of survivors. Nested null values denote empty board cells, absent active pieces, unselected tools or outcomes not yet reached; optional undefined fields are absent until applicable.

Examples

import { compactBoard } from "@johnmorrisdotca/houseki/falling-triplets";

console.log(compactBoard(Array(72).fill(null),6,12).length);
72

What it prints (run when this page was built)

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