UNPKG

tsgammon-core

Version:

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

46 lines (45 loc) 1.72 kB
"use strict"; 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;