Skip to the content

Suido水道

Turn pipes to connect the pumps and drains, through fixed levels or seeded puzzles.

Suido means water supply in Japanese. About the name

Contents

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

NameTypeDescription
layoutLayout

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);
true

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/suido 1.7.0.