tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
46 lines (45 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.honsugorokuConf = exports.standardConf = void 0;
exports.standardConf = {
name: 'Backgammon',
initialPos: [
0, 2, 0, 0, 0, 0, -5, 0, -3, 0, 0, 0, 5, -5, 0, 0, 0, 3, 0, 5, 0, 0, 0,
0, -2, 0,
],
innerPos: 19,
cubeMax: 1024,
jacobyRule: false,
};
exports.honsugorokuConf = Object.assign(Object.assign({}, exports.standardConf), { name: 'HonSugoroku',
/**
* ゾロ目の時も動かせるコマは二つ
*/
movesForDoublet: 2,
/**
* キューブは使わない
*/
cubeMax: 1,
/**
* キューブがないので、常にギャモン・バックギャモンは有効
*/
jacobyRule: false,
/**
* 駒が全てインナーに入ったら勝利、ただし、相手がヒットできる可能性があれば続行
* その場合、未使用の目がある限り、ベアオフするかムーブするかしないといけない
*/
isEoGFunc: (board) => {
// ベアオフ可能 = 全ての駒がインナーに入っていなければ続行
if (!board.isBearable) {
return false;
}
// 相手にヒットの可能性がある場合は続行
if (board.opponentLastPiecePos >= board.innerPos) {
for (let i = board.innerPos; i <= board.opponentLastPiecePos; i++) {
if (board.piecesAt(i) === 1) {
return false;
}
}
}
return true;
} });