本文へ移動

Kazu数

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

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

目次

リファレンス · 数字の盤のSVG

KazuGeometry型

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

WHERE EVERYTHING IS IN A DRAWING, so a page of your own can play it: the drawing is a square of side units, every cell cell units across, and a Towers square sits inside a ring one cell deep that holds its clues. Pure arithmetic, no page needed.

インポート

import type { KazuGeometry } from "@johnmorrisdotca/kazu/draw";

定義

type KazuGeometry = {
    side: number;
    cell: number;
    origin: number;
    ring: number;
    size: number;
    corner: (index: number) => {
        x: number;
        y: number;
    };
    centre: (index: number) => {
        x: number;
        y: number;
    };
    cellAt: (x: number, y: number) => number;
};

メンバー

名前型説明
sidenumber

The side of the drawing, in its own units (the viewBox is 0 0 side side).

cellnumber

The side of one cell.

originnumber

Where the grid's top left corner is.

ringnumber

How many cells deep the ring round the grid is: 1 for Towers, which keeps its clues there, 0 for the rest.

sizenumber
corner(index: number) => { x: number; y: number; }

The top left corner of a cell.

centre(index: number) => { x: number; y: number; }

The middle of a cell.

cellAt(x: number, y: number) => number

The cell a point is over, or -1 for a point outside the grid.

例

import type { KazuGeometry } from "@johnmorrisdotca/kazu/draw";
import { kazuGeometry } from "@johnmorrisdotca/kazu/draw";

const value: KazuGeometry = kazuGeometry("number-place",4);
console.log(value);
{
  side: 420,
  cell: 100,
  origin: 10,
  ring: 0,
  size: 4,
  corner: [Function: corner],
  centre: [Function: centre],
  cellAt: [Function: cellAt]
}

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

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

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