本文へ移動

Kazu数

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

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

目次

リファレンス · へやわけの規則

checkRoomSpans関数

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

Add unshaded straight-line room-span violations to the supplied error set.

インポート

import { checkRoomSpans } from "@johnmorrisdotca/kazu/heyawake";

ほかのエクスポート元: @johnmorrisdotca/kazu

定義

function checkRoomSpans(board: HeyawakeBoard, entries: readonly (boolean | null)[], roomIds?: number[], errors?: Set<number>): void

引数

名前型説明
boardHeyawakeBoard

The valid native board with its printed clues and dimensions.

entriesreadonly (boolean | null)[]

Current row-major entries; omit to search from printed clues.

roomIds (省略可)number[]

Optional precomputed room index for each cell.

errors (省略可)Set<number>

The set receiving cells violating room-span rules.

例

import type { HeyawakeBoard, HeyawakePuzzle } from "@johnmorrisdotca/kazu/heyawake";
import { checkRoomSpans, roomForCell } from "@johnmorrisdotca/kazu/heyawake";

const heyawakeBoard: HeyawakeBoard = {"width":5,"height":5,"rooms":[{"x":0,"y":0,"width":1,"height":1,"blacks":0},{"x":0,"y":1,"width":1,"height":2,"blacks":0},{"x":0,"y":3,"width":1,"height":2,"blacks":1},{"x":1,"y":0,"width":1,"height":4,"blacks":1},{"x":1,"y":4,"width":1,"height":1,"blacks":0},{"x":2,"y":0,"width":3,"height":5,"blacks":3}]};
const heyawakeSolution: HeyawakePuzzle["solution"] = [false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false];
const errors = new Set<number>();
checkRoomSpans(heyawakeBoard,heyawakeSolution,roomForCell(heyawakeBoard),errors);
console.log([...errors]);
[]

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

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

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