本文へ移動

Kazu数

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

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

目次

リファレンス · カックロの規則

enterCrossSums関数

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

Apply the requested native CrossSums entry or mark to a new immutable game; invalid or fixed targets stay unchanged.

インポート

import { enterCrossSums } from "@johnmorrisdotca/kazu/cross-sums";

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

定義

function enterCrossSums(game: CrossSumsGame, cell: number, digit: number, pencil?: boolean): CrossSumsGame

引数

名前型説明
gameCrossSumsGame

The current immutable game state.

cellnumber

A zero-based row-major cell index.

digitnumber

The digit to enter, or zero to clear.

pencil (省略可)boolean

Whether to toggle a note rather than enter a digit.

戻り値

CrossSumsGame

Apply the requested native CrossSums entry or mark to a new immutable game; invalid or fixed targets stay unchanged.

例

import type { CrossSumsBoard } from "@johnmorrisdotca/kazu/cross-sums";
import { enterCrossSums, newCrossSums } from "@johnmorrisdotca/kazu/cross-sums";

const crossSumsBoard: CrossSumsBoard = {"width":5,"height":5,"cells":[{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":10},{"kind":"black","across":null,"down":7},{"kind":"black","across":null,"down":12},{"kind":"black","across":null,"down":null},{"kind":"black","across":6,"down":null},{"kind":"white"},{"kind":"white"},{"kind":"white"},{"kind":"black","across":null,"down":null},{"kind":"black","across":23,"down":null},{"kind":"white"},{"kind":"white"},{"kind":"white"},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null},{"kind":"black","across":null,"down":null}]};
const crossSumsGame = newCrossSums(crossSumsBoard);
console.log(enterCrossSums(crossSumsGame,0,1,false));
{
  board: {
    width: 5,
    height: 5,
    cells: [
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object]
    ]
  },
  values: [
    0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0,
    0
  ],
  notes: [
    [], [], [], [], [], [], [], [],
    [], [], [], [], [], [], [], [],
    [], [], [], [], [], [], [], [],
    []
  ],
  history: [],
  helped: false
}

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

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

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