Reference · Number-puzzle engines
encodeMoreOrLessfunction
Encode grid numbers and less-than relations as the native Futoshiki givens code.
Import it
import { encodeMoreOrLess } from "@johnmorrisdotca/kazu";
Definition
function encodeMoreOrLess(cells: readonly number[], marks: readonly Mark[], size: number): string
Parameters
| Name | Type | Description |
|---|---|---|
cells | readonly number[] | Row-major numeric cells, or expected cell count for step logs as specified by the signature. |
marks | readonly Mark[] | The ordered less-than relations between cells. |
size | number | The supported square grid side length. |
Returns
string
Encode grid numbers and less-than relations as the native Futoshiki givens code.
Examples
import type { KazuPuzzle } from "@johnmorrisdotca/kazu";
import { decodeMoreOrLess, encodeMoreOrLess, readGivens } from "@johnmorrisdotca/kazu";
const puzzle: KazuPuzzle = {"kind":"number-place","size":4,"level":"easy","seed":42,"givens":"14..2..1412.3..4","solution":"1432234141233214"};
const kind = puzzle.kind;
const size = puzzle.size;
const givens = puzzle.givens;
const printed = readGivens(kind,size,givens)!;
const cells = printed.cells;
const inequalities = decodeMoreOrLess("1.........2......>...>...........^......",4)!;
console.log(encodeMoreOrLess(inequalities.cells,inequalities.marks,4));1.........2......>...>...........^......What it prints (run when this page was built)