UNPKG

tsgammon-core

Version:

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

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