UNPKG

tsgammon-core

Version:

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

73 lines (72 loc) 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.plyRecordForPass = exports.plyRecordForTake = exports.plyRecordForDouble = exports.plyRecordForEoG = exports.plyRecordForCheckerPlay = void 0; const SGResult_1 = require("./SGResult"); /** * チェッカープレイの記録を生成する * @param ply チェッカープレイ * @returns 手番の記録 */ function plyRecordForCheckerPlay(ply) { return { tag: 'Commit', ply, isRed: ply.isRed, }; } exports.plyRecordForCheckerPlay = plyRecordForCheckerPlay; /** * 終局の記録を生成する * * @param stake 終局による得点 * @param sgResult 勝者 * @param eogStatus 終局状態 * @returns 終局の記録 */ function plyRecordForEoG(stake, sgResult, eogStatus) { return { tag: 'EOG', stake, sgResult, eogStatus, }; } exports.plyRecordForEoG = plyRecordForEoG; /** * ダブルの記録を生成する * @param cubeState キューブの状態(ダブル前) * @param isRed 赤からのダブルならtrue * @returns ダブルの記録 */ function plyRecordForDouble(cubeState, isRed) { return { tag: 'Double', cubeValue: cubeState.doubledValue, isRed, }; } exports.plyRecordForDouble = plyRecordForDouble; /** * テイクの記録を生成する * @param isRed 赤がテイクした(ダブルしたのは白)のであればtrue * @returns テイクの記録 */ function plyRecordForTake(isRed) { return { tag: 'Take', isRed, }; } exports.plyRecordForTake = plyRecordForTake; /** * パスの記録を生成する * @param sgResult 勝者(ダブルした側) * @returns パスの記録:isRedは、赤がパスした場合にtrueが設定される。 */ function plyRecordForPass(sgResult) { return { tag: 'Pass', isRed: sgResult === SGResult_1.SGResult.WHITEWON, // 白勝ち=パスをしたのは赤 }; } exports.plyRecordForPass = plyRecordForPass;