本文へ移動

Kazu数

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

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

目次

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

enterNumber関数

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

Write a number into a cell (0 empties it). Its own pencil marks go, and with tidy (the default) the number comes out of the pencil marks of every cell that shares a group with it, as a person with a pencil would rub it out. Nothing happens to a printed cell, or when the cell already holds that number.

インポート

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

定義

function enterNumber(game: KazuGame, cell: number, value: number, tidy?: boolean): KazuGame

引数

名前型説明
gameKazuGame

The current immutable number-grid game.

cellnumber

A zero-based row-major cell index.

valuenumber

The value to validate, encode or enter specified by this signature.

tidy (省略可)boolean

Whether to clear notes affected by the entered number.

戻り値

KazuGame

Write a number into a cell (0 empties it). Its own pencil marks go, and with tidy (the default) the number comes out of the pencil marks of every cell that shares a group with it, as a person with a pencil would rub it out. Nothing happens to a printed cell, or when the cell already holds that number.

例

import type { KazuPuzzle } from "@johnmorrisdotca/kazu";
import { decodeCells, enterNumber, newKazuGame, 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 cells = printed.cells;
const solution = decodeCells(answer,size)!;
const game = newKazuGame(kind,size,givens)!;
const blank = cells.findIndex(value=>value===0);
console.log(enterNumber(game,blank,solution[blank]).entries[blank]);
3

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

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

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