UNPKG

tsgammon-core

Version:

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

27 lines (24 loc) 911 B
import { BoardStateNode, NoMove } from '../BoardStateNode' /** * ある局面について、指定された位置で指定の目が適用できるかどうかを判定する * * @param node 局面 * @param pos 目を適用したい位置 * @param useMinorFirst 小さい目を優先して使用する場合はtrue * @returns 適用後の状態を表す子局面、またはNoMove */ export function findMove( node: BoardStateNode, pos: number, useMinorFirst: boolean ): BoardStateNode | NoMove { // すでに作成済みの候補リストから、該当するムーブ(の適用後の局面)を探す const nodesAfterMove = useMinorFirst ? node.minorFirst(pos).hasValue ? node.minorFirst(pos) : node.majorFirst(pos) : node.majorFirst(pos).hasValue ? node.majorFirst(pos) : node.minorFirst(pos) return nodesAfterMove }