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" | |
settings | Settings | |
initialOptions | CreateOptions | |
mode | GameMode | |
dailyDate | string | null | |
challenge | ChallengeRules | null | |
seals | readonly Seal[] | |
sealsCleared | number | |
elapsedMs | number | |
outcome | GameOutcome | |
clearedByColour | Readonly<Record<GemColour, number>> | |
bestChain | number | |
history | readonly ReplayOperation[] | |
board | readonly (Gem | null)[] | Row-major. Mask gaps and the holes in clear phases contain null. |
phase | GamePhase | |
score | number | |
moves | number | |
swapCount | number | |
randomState | number | |
nextId | number | |
usedFallback | boolean | |
wave | number | |
resolutionTick | number | |
pendingCells | readonly number[] | |
pendingSpecials | readonly PlannedSpecial[] | |
gravityBoard | readonly (Gem | null)[] | null | |
inventory | Readonly<Record<OrdinaryToolKind, number>> | |
selectedTool | ToolKind | null | |
toolTarget | number | null | |
toolPreview | readonly number[] | |
toolProgress | number | |
toolAwardCursor | number | |
assisted | boolean | |
toolWaveActive | boolean | Remains true across cascades originating from one tool use. |
blackHoleCharges | 0 | 1 | |
blackHoleProgress | number | |
blackHole | BlackHolePortal | null | |
blackHoleMovePending | boolean | |
blackHoleContactPending | boolean | |
pendingBlackHole | boolean |
例
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' ]出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。