UNPKG

tsgammon-core

Version:

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

79 lines 2.32 kB
import { BGState } from './BGState'; import { BGListener } from './BGListener'; import { CBAction, CBInPlay, CBOpening, CBResponse, CBState, CBToRoll } from './CubeGameState'; import { SingleGameEventHandler } from './SingleGameEventHandler'; import { SGInPlay, SGOpening, SGToRoll } from './SingleGameState'; /** * 標準的なバックギャモン、キューブありの時にU.I.として提供する操作の定義:引数には、イベント発生前の状態を渡さないといけない。 * */ export declare type BGEventHandler = { /** * オープニングロールを行う */ onRollOpening: (bgState: { cbState: CBOpening; sgState: SGOpening; }) => void; /** * 駒の移動を確定する */ onCommit: (bgState: { cbState: CBInPlay; sgState: SGInPlay; }) => void; /** * ロールを行う */ onRoll: (bgState: { cbState: CBToRoll | CBAction; sgState: SGToRoll; }) => void; /** * ゲームを開始する */ onStartGame: () => void; /** * ダブルする */ onDouble: (bgState: { cbState: CBAction; sgState: SGToRoll; }) => void; /** * テイクする */ onTake: (bgState: { cbState: CBResponse; sgState: SGToRoll; }) => void; /** * パスする */ onPass: (bgState: { cbState: CBResponse; sgState: SGToRoll; }) => void; }; /** * BGHandlerをSingleGameHandlerに変換する * @returns */ export declare function asSGEventHandler(cbState: CBState, handlers: Partial<BGEventHandler>): SingleGameEventHandler; /** * BGListenerを接合し、一つのBGListenerにする * * @param bg1 BGListener(先に実行される) * @param bg2 BGListener(後に実行される) * @returns */ export declare function concatBGListeners(bg1: Partial<BGListener>, bg2: Partial<BGListener>): Partial<BGListener>; /** * 状態の保持を行うためのBGListenerを生成する * * @param defaultState ゲーム開始時の初期配置 * @param setBGState 状態保持関数 * @returns */ export declare function setBGStateListener(defaultState: BGState, setBGState: (bgState: BGState) => void): BGListener; //# sourceMappingURL=BGEventHandler.d.ts.map