本文へ移動

Kazu数

検証済みの数独や論理パズルを作り、標準の規則とヒントを読み、盤を描いたり埋め込んだりできます。

「数」は数字を表す言葉です。 名前について(英語)

目次

リファレンス · 数字パズルのエンジン

KazuGivens型

リファレンスの説明と例は英語です。見出しと目次は日本語です。

WHAT A PUZZLE WAS PRINTED WITH, read from its givens code: the printed cells, and for a Jigsaw its regions, for Sum Cages its cages, for More or Less its marks, for Towers its clues. Each kind writes them after the cells. The drawing, the play and the hint all read a puzzle through this.

インポート

import type { KazuGivens } from "@johnmorrisdotca/kazu";

定義

type KazuGivens = {
    kind: KazuKind;
    size: number;
    cells: number[];
    regions: number[] | null;
    diagonals: boolean;
    cages: Cage[] | null;
    marks: Mark[];
    clues: TowerClues | null;
};

メンバー

名前型説明
kind"number-place" | "jigsaw" | "diagonal" | "sum-cages" | "more-or-less" | "towers"
sizenumber
cellsnumber[]

The printed numbers, row-major; 0 where nothing is printed.

regionsnumber[] | null

The region each cell is drawn in (a box, or a Jigsaw's own region), which the heavy rules go round; null for More or Less and Towers.

diagonalsboolean

Whether the two long diagonals are groups too (Diagonal).

cagesCage[] | null

Sum Cages: the cages and their sums.

marksMark[]

More or Less: which of two neighbouring cells is bigger.

cluesTowerClues | null

Towers: the clues round the edge.

例

import type { KazuGivens, KazuPuzzle } from "@johnmorrisdotca/kazu";
import { 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 value: KazuGivens = printed;
console.log(value);
{
  kind: 'number-place',
  size: 4,
  regions: [
    0, 0, 1, 1, 0, 0,
    1, 1, 2, 2, 3, 3,
    2, 2, 3, 3
  ],
  diagonals: false,
  cages: null,
  marks: [],
  clues: null,
  cells: [
    1, 4, 0, 0, 2, 0,
    0, 1, 4, 1, 2, 0,
    3, 0, 0, 4
  ]
}

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/kazu 2.1.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。