本文へ移動

Kazu数

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

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

目次

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

conflictsOf関数

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

THE CELLS THAT BREAK A RULE RIGHT NOW, read from the rules alone: no answer is needed, so it works on any puzzle, and it names a mistake the moment it is made rather than when it is checked.

values is the whole grid as it stands: the printed numbers and what has been written, row-major, 0 for empty. A cell is in conflict when it shares a row, a column, a box, a region, a diagonal or a cage with a cell holding the same number; when a cage is full and does not add to its sum, or already adds to more; when a more-than mark between two filled cells is not true; or when the cells from a Towers clue show more towers than the clue says (or, once the line is full, any other number). An empty cell is never in conflict, and a grid with no conflict is not thereby right: it may simply not be finished.

インポート

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

定義

function conflictsOf(givens: KazuGivens, values: readonly number[]): number[]

引数

名前型説明
givensKazuGivens

The original native printed-clue code.

valuesreadonly number[]

Replacement text/numbers or row-major entries specified by this signature.

戻り値

number[]

THE CELLS THAT BREAK A RULE RIGHT NOW, read from the rules alone: no answer is needed, so it works on any puzzle, and it names a mistake the moment it is made rather than when it is checked.

例

import type { KazuPuzzle } from "@johnmorrisdotca/kazu";
import { conflictsOf, decodeCells, 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 answer = puzzle.solution;
const printed = readGivens(kind,size,givens)!;
const solution = decodeCells(answer,size)!;
console.log(conflictsOf(printed,solution));
[]

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

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

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