Skip to the content

Kazu数

Generate checked Sudoku and logic puzzles, read native rules and hints, and draw or embed playable boards.

Kazu is the Japanese word 数 for number. About the name

Contents

Reference · Number-puzzle engines

encodeStepsfunction

THE STEPS OF A PUZZLE, written down so a scrubber has them when the puzzle is picked up again. Every step is a grid in a run's code. The first is written whole; each after it as the cells that changed (a cell's place in base 36, two characters, and its new character), the steps parted by "~", which no run uses. A long puzzle's log is a few hundred characters, not a grid per step.

Import it

import { encodeSteps } from "@johnmorrisdotca/kazu";

Definition

function encodeSteps(codes: readonly string[]): string

Parameters

NameTypeDescription
codesreadonly string[]

Native entry codes in chronological order.

Returns

string

THE STEPS OF A PUZZLE, written down so a scrubber has them when the puzzle is picked up again. Every step is a grid in a run's code. The first is written whole; each after it as the cells that changed (a cell's place in base 36, two characters, and its new character), the steps parted by "~", which no run uses. A long puzzle's log is a few hundred characters, not a grid per step.

Examples

import type { KazuPuzzle } from "@johnmorrisdotca/kazu";
import { encodeRun, encodeSteps, newKazuGame } 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 game = newKazuGame(kind,size,givens)!;
console.log(encodeSteps([encodeRun(game.entries)]));
................

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/kazu 2.1.0.