tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
44 lines (43 loc) • 1.49 kB
JavaScript
;
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;