Skip to the content

Houseki宝石

Run five native gem and stone engines, play measured challenges and lessons, and save deterministic games.

Houseki (宝石) is Japanese for a gem or precious stone. About the name

Contents

Reference · Colour Chains

Landingtype

Destination cells for the two independently settled ghost stones.

Import it

import type { Landing } from "@johnmorrisdotca/houseki/colour-chains";

Definition

type Landing = readonly [
    Cell,
    Cell
];

Members

NameTypeDescription
0Cell
1Cell
length2
toString(): string

Returns a string representation of an array.

toLocaleString(): string (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string

Returns a string representation of an array. The elements are converted to string using their toLocaleString methods.

concat(...items: ConcatArray<Cell>[]): Cell[] (...items: (Cell | ConcatArray<Cell>)[]): Cell[]

Combines two or more arrays.

join(separator?: string): string

Adds all the elements of an array separated by the specified separator string.

slice(start?: number, end?: number): Cell[]

Returns a section of an array.

indexOf(searchElement: Cell, fromIndex?: number): number

Returns the index of the first occurrence of a value in an array.

lastIndexOf(searchElement: Cell, fromIndex?: number): number

Returns the index of the last occurrence of a specified value in an array.

every<S extends Cell>(predicate: (value: Cell, index: number, array: readonly Cell[]) => value is S, thisArg?: any): this is readonly S[] (predicate: (value: Cell, index: number, array: readonly Cell[]) => unknown, thisArg?: any): boolean

Determines whether all the members of an array satisfy the specified test.

some(predicate: (value: Cell, index: number, array: readonly Cell[]) => unknown, thisArg?: any): boolean

Determines whether the specified callback function returns true for any element of an array.

forEach(callbackfn: (value: Cell, index: number, array: readonly Cell[]) => void, thisArg?: any): void

Performs the specified action for each element in an array.

map<U>(callbackfn: (value: Cell, index: number, array: readonly Cell[]) => U, thisArg?: any): U[]

Calls a defined callback function on each element of an array, and returns an array that contains the results.

filter<S extends Cell>(predicate: (value: Cell, index: number, array: readonly Cell[]) => value is S, thisArg?: any): S[] (predicate: (value: Cell, index: number, array: readonly Cell[]) => unknown, thisArg?: any): Cell[]

Returns the elements of an array that meet the condition specified in a callback function.

reduce(callbackfn: (previousValue: Cell, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => Cell): Cell (callbackfn: (previousValue: Cell, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => Cell, initialValue: Cell): Cell <U>(callbackfn: (previousValue: U, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => U, initialValue: U): U

Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

reduceRight(callbackfn: (previousValue: Cell, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => Cell): Cell (callbackfn: (previousValue: Cell, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => Cell, initialValue: Cell): Cell <U>(callbackfn: (previousValue: U, currentValue: Cell, currentIndex: number, array: readonly Cell[]) => U, initialValue: U): U

Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

find<S extends Cell>(predicate: (value: Cell, index: number, obj: readonly Cell[]) => value is S, thisArg?: any): S | undefined (predicate: (value: Cell, index: number, obj: readonly Cell[]) => unknown, thisArg?: any): Cell | undefined

Returns the value of the first element in the array where predicate is true, and undefined otherwise.

findIndex(predicate: (value: Cell, index: number, obj: readonly Cell[]) => unknown, thisArg?: any): number

Returns the index of the first element in the array where predicate is true, and -1 otherwise.

entries(): ArrayIterator<[number, Cell]>

Returns an iterable of key, value pairs for every entry in the array

keys(): ArrayIterator<number>

Returns an iterable of keys in the array

values(): ArrayIterator<Cell>

Returns an iterable of values in the array

includes(searchElement: Cell, fromIndex?: number): boolean

Determines whether an array includes a certain element, returning true or false as appropriate.

flatMap<U, This = undefined>(callback: (this: This, value: Cell, index: number, array: Cell[]) => U | readonly U[], thisArg?: This | undefined): U[]

Calls a defined callback function on each element of an array. Then, flattens the result into a new array. This is identical to a map followed by flat with depth 1.

flat<A, D extends number = 1>(this: A, depth?: D | undefined): FlatArray<A, D>[]

Returns a new array with all sub-array elements concatenated into it recursively up to the specified depth.

at(index: number): Cell | undefined

Returns the item located at the specified index.

Examples

import { createGame, landingCells } from "@johnmorrisdotca/houseki/colour-chains";
import type { Landing } from "@johnmorrisdotca/houseki/colour-chains";

const state=createGame({seed:"docs"});
const value: Landing = landingCells(state)!;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ '0', '1' ]

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/houseki 0.4.2.