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

deducefunction

The deductions of a board, in rounds. Each round looks at every piece at once, as the board stood at the end of the last, and fixes every piece whose facing is now forced. A network does it by what each piece may still face (a piece must open back on a neighbour that must open towards it); a drains board does it by growing from the pumps and the drains. solution is an answer to the board, which says which pieces a drains board's water goes through.

Import it

import { deduce } from "@johnmorrisdotca/suido";

Definition

function deduce(layout: Layout, solution: readonly number[]): Deduction

Parameters

NameTypeDescription
layoutLayout

The decoded board with its dimensions, pipe masks and rule settings.

solutionreadonly number[]

The solved pipe masks in row-major cell order.

Returns

Deduction

The deductions of a board, in rounds. Each round looks at every piece at once, as the board stood at the end of the last, and fixes every piece whose facing is now forced. A network does it by what each piece may still face (a piece must open back on a neighbour that must open towards it); a drains board does it by growing from the pumps and the drains. solution is an answer to the board, which says which pieces a drains board's water goes through.

Examples

import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { decodeLayout, deduce } 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(deduce(layout,solution));
{ pieces: 25, glance: 15, settled: 25, rounds: 3 }

What it prints (run when this page was built)

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