Reference · Pipes, rules and solving
blockFacingsfunction
Every distinct way a block can face, as the four masks of its cells (in Block.cells order), the turn of 0 quarters first.
Import it
import { blockFacings } from "@johnmorrisdotca/suido";
Definition
function blockFacings(masks: readonly number[], block: Block): number[][]
Parameters
| Name | Type | Description |
|---|---|---|
masks | readonly number[] | Current pipe masks in row-major cell order. |
block | Block | The zero-based ladder block index, or decoded four-cell block specified by the signature. |
Returns
number[][]
Every distinct way a block can face, as the four masks of its cells (in Block.cells order), the turn of 0 quarters first.
Examples
import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { blockFacings, blockInfo, decodeLayout } from "@johnmorrisdotca/suido";
const row = SUIDO_5X5[0];
const code = row[0];
const layout = decodeLayout(code)!;
const blockLayout = {...layout,bigs:[0]};
const block = blockInfo(blockLayout).blocks[0];
console.log(blockFacings(blockLayout.cells,block).length);4What it prints (run when this page was built)