UNPKG

tsgammon-core

Version:

A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui

27 lines (23 loc) 760 B
import { BoardStateNode } from '../BoardStateNode' import { collectNodes } from './collectNodes' import { Move } from '../Move' /** * 指定された局面について、冗長な手も含めて、可能な手を全て格納した配列を返す * @param node 局面 */ export function collectMoves(node: BoardStateNode): Moves[] { const nodes = collectNodes(node) return nodes.map((n) => ({ moves: n.lastMoves(), isRedundant: n.isRedundant, })) } /** * ある局面について、ロールを使い切る手を表す */ export type Moves = { /** 指し手を表す配列 */ moves: Move[] /** 指し手を適用した後に同じ結果になる手が他に存在するなら、true */ isRedundant: boolean }