@gamepark/rules-api
Version:
API to implement the rules of a board game
19 lines • 783 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isDeadEndMove = void 0;
var Action_1 = require("../Action");
function isDeadEndMove(move, game, Rules, predicate, maxDepth) {
if (maxDepth === void 0) { maxDepth = 5; }
if (maxDepth === 0)
return false;
var rules = new Rules(JSON.parse(JSON.stringify(game)));
(0, Action_1.playMove)(rules, move);
if (predicate(rules.game))
return false;
var activePlayer = rules.getActivePlayer();
if (!activePlayer)
return true;
return rules.getLegalMoves(activePlayer).every(function (move) { return isDeadEndMove(move, rules.game, Rules, predicate, maxDepth - 1); });
}
exports.isDeadEndMove = isDeadEndMove;
//# sourceMappingURL=isDeadEndMove.util.js.map