本文へ移動

Houseki宝石

5つの宝石と石のゲームの仕組みを使い、測定したチャレンジやレッスンで遊び、再現できるゲームを保存できます。

宝石(ほうせき)は、宝石や貴石を意味する日本語です。 名前について(英語)

目次

リファレンス · ジェムスワップ

GameState型

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

The immutable authoritative native game state, including its board, random state and recording.

インポート

import type { GameState } from "@johnmorrisdotca/houseki/gem-swap";

定義

interface GameState {
    readonly game: 'gem-swap';
    readonly rules: 'swap-1';
    readonly settings: Settings;
    readonly initialOptions: CreateOptions;
    readonly mode: GameMode;
    readonly dailyDate: string | null;
    readonly challenge: ChallengeRules | null;
    readonly seals: readonly Seal[];
    readonly sealsCleared: number;
    readonly elapsedMs: number;
    readonly outcome: GameOutcome;
    readonly clearedByColour: Readonly<Record<GemColour, number>>;
    readonly bestChain: number;
    readonly history: readonly ReplayOperation[];
    readonly board: readonly (Gem | null)[];
    readonly phase: GamePhase;
    readonly score: number;
    readonly moves: number;
    readonly swapCount: number;
    readonly randomState: number;
    readonly nextId: number;
    readonly usedFallback: boolean;
    readonly wave: number;
    readonly resolutionTick: number;
    readonly pendingCells: readonly number[];
    readonly pendingSpecials: readonly PlannedSpecial[];
    readonly gravityBoard: readonly (Gem | null)[] | null;
    readonly inventory: ToolInventory;
    readonly selectedTool: ToolKind | null;
    readonly toolTarget: number | null;
    readonly toolPreview: readonly number[];
    readonly toolProgress: number;
    readonly toolAwardCursor: number;
    readonly assisted: boolean;
    readonly toolWaveActive: boolean;
    readonly blackHoleCharges: 0 | 1;
    readonly blackHoleProgress: number;
    readonly blackHole: BlackHolePortal | null;
    readonly blackHoleMovePending: boolean;
    readonly blackHoleContactPending: boolean;
    readonly pendingBlackHole: boolean;
}

メンバー

名前型説明
game"gem-swap"
rules"swap-1"
settingsSettings
initialOptionsCreateOptions
modeGameMode
dailyDatestring | null
challengeChallengeRules | null
sealsreadonly Seal[]
sealsClearednumber
elapsedMsnumber
outcomeGameOutcome
clearedByColourReadonly<Record<GemColour, number>>
bestChainnumber
historyreadonly ReplayOperation[]
boardreadonly (Gem | null)[]

Row-major. Mask gaps and the holes in clear phases contain null.

phaseGamePhase
scorenumber
movesnumber
swapCountnumber
randomStatenumber
nextIdnumber
usedFallbackboolean
wavenumber
resolutionTicknumber
pendingCellsreadonly number[]
pendingSpecialsreadonly PlannedSpecial[]
gravityBoardreadonly (Gem | null)[] | null
inventoryReadonly<Record<OrdinaryToolKind, number>>
selectedToolToolKind | null
toolTargetnumber | null
toolPreviewreadonly number[]
toolProgressnumber
toolAwardCursornumber
assistedboolean
toolWaveActiveboolean

Remains true across cascades originating from one tool use.

blackHoleCharges0 | 1
blackHoleProgressnumber
blackHoleBlackHolePortal | null
blackHoleMovePendingboolean
blackHoleContactPendingboolean
pendingBlackHoleboolean

例

import { createGame } from "@johnmorrisdotca/houseki/gem-swap";
import type { GameState } from "@johnmorrisdotca/houseki/gem-swap";

const state=createGame({seed:"docs"});
const value: GameState = state;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'game', 'rules', 'settings', 'initialOptions', 'mode', 'dailyDate' ]

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

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

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