KazuGivens型
リファレンスの説明と例は英語です。見出しと目次は日本語です。
WHAT A PUZZLE WAS PRINTED WITH, read from its givens code: the printed cells, and for a Jigsaw its regions, for Sum Cages its cages, for More or Less its marks, for Towers its clues. Each kind writes them after the cells. The drawing, the play and the hint all read a puzzle through this.
インポート
import type { KazuGivens } from "@johnmorrisdotca/kazu";
定義
type KazuGivens = {
kind: KazuKind;
size: number;
cells: number[];
regions: number[] | null;
diagonals: boolean;
cages: Cage[] | null;
marks: Mark[];
clues: TowerClues | null;
};
メンバー
| 名前 | 型 | 説明 |
|---|---|---|
kind | "number-place" | "jigsaw" | "diagonal" | "sum-cages" | "more-or-less" | "towers" | |
size | number | |
cells | number[] | The printed numbers, row-major; 0 where nothing is printed. |
regions | number[] | null | The region each cell is drawn in (a box, or a Jigsaw's own region), which the heavy rules go round; null for More or Less and Towers. |
diagonals | boolean | Whether the two long diagonals are groups too (Diagonal). |
cages | Cage[] | null | Sum Cages: the cages and their sums. |
marks | Mark[] | More or Less: which of two neighbouring cells is bigger. |
clues | TowerClues | null | Towers: the clues round the edge. |
例
import type { KazuGivens, KazuPuzzle } from "@johnmorrisdotca/kazu";
import { 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 printed = readGivens(kind,size,givens)!;
const value: KazuGivens = printed;
console.log(value);{
kind: 'number-place',
size: 4,
regions: [
0, 0, 1, 1, 0, 0,
1, 1, 2, 2, 3, 3,
2, 2, 3, 3
],
diagonals: false,
cages: null,
marks: [],
clues: null,
cells: [
1, 4, 0, 0, 2, 0,
0, 1, 4, 1, 2, 0,
3, 0, 0, 4
]
}出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。