tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
46 lines (45 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatPlyAbbr = exports.formatPly = void 0;
const formatDices_1 = require("./formatDices");
const formatAbsMove_1 = require("./formatAbsMove");
/**
* 一手番でのチェッカープレイの内容を文字列に変換する
*
* ex) Roll 31: Moves 17/20 19/20
*
* @param ply 一手番でのチェッカープレイ内容
* @param direction ムーブの表記方法
* @returns 変換後の文字列
*/
function formatPly(ply, direction = formatAbsMove_1.MoveFormatDirection.ABSOLUTE_INV) {
if (ply.dices.length === 0) {
return '';
}
const roll = (0, formatDices_1.formatDices)(ply.dices);
const moves = ply.moves.length === 0
? ''
: `Moves ${(0, formatAbsMove_1.formatAbsMoves)(ply.moves, direction).join(' ')}`;
return `Roll ${roll} ${moves}`;
}
exports.formatPly = formatPly;
/**
* 一手番でのチェッカープレイの内容を簡潔な文字列に変換する
*
* ex) 31:17/20 19/20
*
* @param ply 一手番でのチェッカープレイ内容
* @param direction ムーブの表記方法
* @param fmtDoublet ゾロ目を短縮表記(e.g. 1 1 => 1(4))する場合はtrue
* @param labelNoMove
* @returns 変換後の文字列
*/
function formatPlyAbbr(ply, direction = formatAbsMove_1.MoveFormatDirection.RELATIVE_DEC, fmtDoublet = true, labelNoMove = '') {
if (ply.dices.length === 0) {
return '';
}
const roll = (0, formatDices_1.formatDices)(ply.dices, fmtDoublet);
const moves = (0, formatAbsMove_1.formatAbsMoves)(ply.moves, direction, labelNoMove).join(' ');
return `${roll}: ${moves}`;
}
exports.formatPlyAbbr = formatPlyAbbr;