Reference · Pipes, rules and solving
bigShapesInfunction
The big pieces of a board and which shape each is, read from masks (one for every cell of the board, as a board's pieces or an
answer's stand): the board's pieces for the facing it starts in, an answer's for the facing the water needs. A big piece whose four
masks make none of the shapes is left out, which no board that decodes has.
Import it
import { bigShapesIn } from "@johnmorrisdotca/suido";
Definition
function bigShapesIn(layout: { width: number; bigs?: readonly number[]; }, masks: readonly number[]): BigOnBoard[]
Parameters
| Name | Type | Description |
|---|---|---|
layout | { width: number; bigs?: readonly number[]; } | The decoded board with its dimensions, pipe masks and rule settings. |
masks | readonly number[] | Current pipe masks in row-major cell order. |
Returns
BigOnBoard[]
The big pieces of a board and which shape each is, read from masks (one for every cell of the board, as a board's pieces or an answer's stand): the board's pieces for the facing it starts in, an answer's for the facing the water needs. A big piece whose four masks make none of the shapes is left out, which no board that decodes has.
Examples
import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { bigShapesIn, decodeLayout } from "@johnmorrisdotca/suido";
const row = SUIDO_5X5[0];
const code = row[0];
const layout = decodeLayout(code)!;
const blockLayout = {...layout,bigs:[0]};
console.log(bigShapesIn(blockLayout,blockLayout.cells).length);0What it prints (run when this page was built)