Reference · Ripple Effect rules
progressRipplefunction
Partial progress check; missing entries are allowed, but impossible room/ripple pairs are flagged.
Import it
import { progressRipple } from "@johnmorrisdotca/kazu/ripple";
Also exported from: @johnmorrisdotca/kazu
Definition
function progressRipple(board: RippleBoard, values: readonly number[]): RippleCheck
Parameters
| Name | Type | Description |
|---|---|---|
board | RippleBoard | The valid native board with its printed clues and dimensions. |
values | readonly number[] | The current row-major cell values. |
Returns
RippleCheck
Partial progress check; missing entries are allowed, but impossible room/ripple pairs are flagged.
Examples
import type { RippleBoard, RipplePuzzle } from "@johnmorrisdotca/kazu/ripple";
import { progressRipple } from "@johnmorrisdotca/kazu/ripple";
const rippleBoard: RippleBoard = {"width":9,"height":9,"rooms":[0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,3,3,3,4,4,4,5,5,5,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,6,6,6,7,7,7,8,8,8,6,6,6,7,7,7,8,8,8],"clues":[4,null,7,9,2,null,5,null,3,null,null,3,6,7,4,8,9,2,8,null,2,1,3,null,null,null,null,7,null,1,null,6,null,null,null,9,3,8,null,5,1,7,null,null,6,2,4,6,null,9,3,7,5,1,1,null,8,null,5,null,9,2,4,null,2,null,null,null,null,null,null,null,6,null,null,2,4,null,null,3,null]};
const rippleSolution: RipplePuzzle["solution"] = [4,6,7,9,2,8,5,1,3,5,1,3,6,7,4,8,9,2,8,9,2,1,3,5,4,6,7,7,5,1,4,6,2,3,8,9,3,8,9,5,1,7,2,4,6,2,4,6,8,9,3,7,5,1,1,3,8,7,5,6,9,2,4,9,2,4,3,8,1,6,7,5,6,7,5,2,4,9,1,3,8];
console.log(progressRipple(rippleBoard,rippleSolution));{ ok: true, errors: [], complete: true }What it prints (run when this page was built)