CollapseCampaignLeveltype
One authored native challenge with its stable id, setup, winning witness, measurements and review status.
Import it
import type { CollapseCampaignLevel } from "@johnmorrisdotca/houseki/stone-collapse";
Definition
interface CollapseCampaignLevel {
readonly id: string;
readonly number: number;
readonly title: LocalizedText;
readonly canonicalKeyHash: string;
readonly width: number;
readonly height: number;
readonly colourCount: 4;
readonly mask?: readonly boolean[];
readonly seed: string;
readonly board: readonly (Stone | null)[];
readonly goal: ChallengeGoal;
readonly moveLimit: number;
readonly witness: readonly (readonly number[])[];
readonly tags: readonly string[];
readonly rawMetrics: CollapseDifficultyMetrics;
readonly score: number;
readonly marks: 1 | 2 | 3 | 4 | 5;
readonly gradingVersion: string;
readonly proofStatus: 'engine-witness-verified';
readonly reviewStatus: 'human-review-pending';
}
Members
| Name | Type | Description |
|---|---|---|
id | string | |
number | number | |
title | LocalizedText | |
canonicalKeyHash | string | |
width | number | |
height | number | |
colourCount | 4 | |
mask (optional) | readonly boolean[] | undefined | |
seed | string | |
board | readonly (Stone | null)[] | |
goal | ChallengeGoal | |
moveLimit | number | |
witness | readonly (readonly number[])[] | |
tags | readonly string[] | |
rawMetrics | CollapseDifficultyMetrics | |
score | number | |
marks | 2 | 4 | 5 | 3 | 1 | |
gradingVersion | string | |
proofStatus | "engine-witness-verified" | |
reviewStatus | "human-review-pending" |
Examples
import { levelManifest } from "@johnmorrisdotca/houseki/stone-collapse";
import type { CollapseCampaignLevel } from "@johnmorrisdotca/houseki/stone-collapse";
const level=levelManifest[0];
const value: CollapseCampaignLevel = level;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);[ 'id', 'number', 'title', 'canonicalKeyHash', 'width', 'height' ]What it prints (run when this page was built)