tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
20 lines • 1.38 kB
TypeScript
import { BoardState } from '../BoardState';
import { BoardStateNode, NoMove } from '../BoardStateNode';
import { Dice, DicePip } from '../Dices';
import { Move } from '../Move';
export declare type NodeBuilder = (board: BoardState, move: Move) => BuiltNode;
export declare type BuiltNode = [BoardStateNode | NoMove, number];
export declare function buildNodeForEoG(board: BoardState, usedDices: Dice[], lastMoves: Move[], mark: number): BuiltNode;
/**
* 末端、すなわちダイスを全て使った状態のノードを構築する関数を返す。
*
* 各引数は、末端ノードの親についての情報を渡す。
* @param usedDice すでに使用済みのダイス
* @param pip 親ノードの局面から末端ノードの局面への遷移で使用する目
* @param addLastMoves 親ノードの局面に至るまでにすでに適用済みの手と、最後の手をあわせて配列を返す関数
* @param isRedundantFunc 最終局面が冗長かどうかを判定する関数
*
* @returns {@link applyDicePipToPoints()}が使用する、最後の局面と、そこに至る最後の手を受け取り、末端ノードを返す関数。
*/
export declare function leaveNodeBuilder(usedDice: Dice[], pip: DicePip, addLastMoves: (move: Move) => Move[], isRedundantFunc?: (move: Move) => boolean): NodeBuilder;
//# sourceMappingURL=NodeBuilder.d.ts.map