Reference · Pipes, rules and solving
flowOffunction
The water on a board whose pieces face as masks say. It starts at every
source and goes through every opening that meets an opening of the piece
beside it; whatever it reaches is wet. Plain breadth-first search, one visit
to each cell.
Import it
import { flowOf } from "@johnmorrisdotca/suido";
Definition
function flowOf(layout: Layout, masks?: readonly number[]): Flow
Parameters
| Name | Type | Description |
|---|---|---|
layout | Layout | The decoded board with its dimensions, pipe masks and rule settings. |
masks (optional) | readonly number[] | Current pipe masks in row-major cell order. |
Returns
Flow
The water on a board whose pieces face as masks say. It starts at every source and goes through every opening that meets an opening of the piece beside it; whatever it reaches is wet. Plain breadth-first search, one visit to each cell.
Examples
import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { decodeLayout, flowOf } from "@johnmorrisdotca/suido";
import { levelSolution } from "@johnmorrisdotca/suido/levels";
const row = SUIDO_5X5[0];
const code = row[0];
const layout = decodeLayout(code)!;
const solution = levelSolution(row)!;
console.log(flowOf(layout,solution).solved);trueWhat it prints (run when this page was built)