magneticGravityfunction
Magnetic floor removes all bonds and settles each column segment independently.
Import it
import { magneticGravity } from "@johnmorrisdotca/houseki/magnetic-blocks";
Definition
function magneticGravity(initial: readonly (Gem | null)[], width: number, height: number, mask: readonly boolean[]): readonly (Gem | null)[]
Parameters
| Name | Type | Description |
|---|---|---|
initial | readonly (Gem | null)[] | The row-major starting board for gravity settlement. |
width | number | The native board width in cells. |
height | number | The native board height in cells. |
mask | readonly boolean[] | The row-major active-cell mask; false cells cannot hold gems. |
Returns
readonly (Gem | null)[]
Magnetic floor removes all bonds and settles each column segment independently. 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 { createGame, magneticGravity } from "@johnmorrisdotca/houseki/magnetic-blocks";
const state=createGame({seed:"docs"});
console.log(magneticGravity(state.board,state.settings.width,state.settings.height,state.settings.mask).length);200What it prints (run when this page was built)