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
| Name | Type | Description |
|---|---|---|
layout | Layout | The decoded board with its dimensions, pipe masks and rule settings. |
solution | readonly 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)