tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
50 lines (49 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.score = exports.scoreAsWhite = exports.scoreAsRed = void 0;
/**
* 赤の得点を生成する
* @param n 赤の得点
* @returns
*/
function scoreAsRed(n) {
return score({
whiteScore: 0,
redScore: n,
});
}
exports.scoreAsRed = scoreAsRed;
/**
* 白の得点を生成する
* @param n 白の点数
* @returns
*/
function scoreAsWhite(n) {
return score({
whiteScore: n,
redScore: 0,
});
}
exports.scoreAsWhite = scoreAsWhite;
/**
* 任意の内容の累計点を生成する
* @param value 累計点
* @returns
*/
function score(value = {
redScore: 0,
whiteScore: 0,
}) {
var _a, _b;
const redScore = (_a = value.redScore) !== null && _a !== void 0 ? _a : 0;
const whiteScore = (_b = value.whiteScore) !== null && _b !== void 0 ? _b : 0;
return {
redScore,
whiteScore,
add(score) {
return Object.assign(Object.assign({}, this), { redScore: this.redScore + score.redScore, whiteScore: this.whiteScore + score.whiteScore });
},
value: redScore + whiteScore,
};
}
exports.score = score;