SHIKAKU_CHALLENGE_PACKSconstant
Three short, named challenge routes using the regular seeded unique-puzzle generator.
Import it
import { SHIKAKU_CHALLENGE_PACKS } from "@johnmorrisdotca/kazu/shikaku";
Also exported from: @johnmorrisdotca/kazu
Definition
const SHIKAKU_CHALLENGE_PACKS: Readonly<Record<ShikakuPackKey, { title: string; description: string; width: number; height: number; challenges: readonly { name: string; level: ShikakuLevel; seed: number; }[]; }>> = {
square: {
title: "The Courtyard", description: "A compact square route.", width: 7, height: 7,
challenges: [{ name: "First Cut", level: "easy", seed: 1 }, { name: "Crossing", level: "medium", seed: 2 }, { name: "Mosaic", level: "hard", seed: 3 }],
},
wide: {
title: "The Long Table", description: "Three puzzles across a wide board.", width: 10, height: 6,
challenges: [{ name: "Harbour", level: "easy", seed: 1 }, { name: "Causeway", level: "medium", seed: 2 }, { name: "Headland", level: "hard", seed: 3 }],
},
tall: {
title: "The Narrow Garden", description: "A tall route with long edges.", width: 6, height: 10,
challenges: [{ name: "Gate", level: "easy", seed: 1 }, { name: "Pavilion", level: "medium", seed: 2 }, { name: "Lantern Walk", level: "hard", seed: 3 }],
},
}
Members
| Name | Type | Description |
|---|---|---|
square | { title: string; description: string; width: number; height: number; challenges: readonly { name: string; level: ShikakuLevel; seed: number; }[]; } | |
wide | { title: string; description: string; width: number; height: number; challenges: readonly { name: string; level: ShikakuLevel; seed: number; }[]; } | |
tall | { title: string; description: string; width: number; height: number; challenges: readonly { name: string; level: ShikakuLevel; seed: number; }[]; } |
Examples
import { SHIKAKU_CHALLENGE_PACKS } from "@johnmorrisdotca/kazu/shikaku";
console.log(Object.keys(SHIKAKU_CHALLENGE_PACKS));[ 'square', 'wide', 'tall' ]What it prints (run when this page was built)