UNPKG

tsgammon-core

Version:

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

44 lines (43 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatPlyRecord = void 0; const formatAbsMove_1 = require("../../utils/formatAbsMove"); const formatPly_1 = require("../../utils/formatPly"); const SGResult_1 = require("../SGResult"); /** * 一手番でのプレイ(チェッカープレイ・キューブアクション)を文字列に変換する * * @param plyRecord * @param direction * @param fmtDoublet * @param labelNoMove * @returns */ function formatPlyRecord(plyRecord, direction = formatAbsMove_1.MoveFormatDirection.RELATIVE_DEC, fmtDoublet = true, labelNoMove = '') { switch (plyRecord.tag) { case 'Commit': { return (0, formatPly_1.formatPlyAbbr)(plyRecord.ply, direction, fmtDoublet, labelNoMove); } case 'Double': { return ' Doubles => ' + plyRecord.cubeValue; } case 'Pass': { return 'Drops'; } case 'Take': { return ' Takes'; } case 'EOG': { const stake = plyRecord.stake; return plyRecord.sgResult === SGResult_1.SGResult.NOGAME ? 'No game' : formatStake(plyRecord.sgResult === SGResult_1.SGResult.REDWON ? stake.redScore : stake.whiteScore); } } function formatStake(score) { return score === 0 ? '' : `Wins ${score} point`; } } exports.formatPlyRecord = formatPlyRecord;