UNPKG

@gamepark/rules-api

Version:

API to implement the rules of a board game

19 lines 783 B
"use strict"; 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