tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
29 lines • 1.23 kB
TypeScript
import { ResignOffer } from '../ResignOffer';
/**
* 降参状態を示す:ここでは降参を申し出ているか、何もないかの状態しかなく、
* どの条件で降参するかを選択するための状態遷移は、U.I.側の管理に委ねている
*/
export declare type ResignState = RSNone | RSOffered;
/** 降参が始まっていない状態を表す:意味のある情報は保持していないので、
* 個別にオブジェクトは生成せず、シングルトンであるRSNONEを使用する */
export declare type RSNone = {
tag: 'RSNone';
doOfferResignRed(offer: ResignOffer): RSOfferedWhite;
doOfferResignWhite(offer: ResignOffer): RSOfferedRed;
};
export declare type RSOffered = RSOfferedWhite | RSOfferedRed;
declare type _RSOffered = {
tag: 'RSOffered';
offer: ResignOffer;
};
export declare type RSOfferedWhite = _RSOffered & {
isRed: false;
};
export declare type RSOfferedRed = _RSOffered & {
isRed: true;
};
export declare const RSNONE: RSNone;
export declare function rsOfferedRed(offer: ResignOffer): RSOfferedRed;
export declare function rsOfferedWhite(offer: ResignOffer): RSOfferedWhite;
export {};
//# sourceMappingURL=ResignState.d.ts.map