UNPKG

hex-game

Version:
38 lines 1.86 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.stone = exports.hexGame = void 0; var board_1 = require("./board"); var stone_1 = require("./stone"); function hexGame(boardSize, moves) { if (moves === void 0) { moves = []; } var board = new board_1.Board(boardSize, moves); return { board: board, stone: function (position) { return new stone_1.Stone(position, board); }, playerToMove: function () { return board.playerToMove; }, getChain: function (position) { return board.getChain(new stone_1.Stone(position, board)); }, isFreePosition: function (position) { return board.isFreePosition(new stone_1.Stone(position, board)); }, isValidPosition: function (position) { return new stone_1.Stone(position, board).isValid; }, isWinningPosition: function (position) { return board.isWinningPosition(new stone_1.Stone(position, board)); }, getGroups: function () { return board.getGroups(board.getTemplates()); }, getTemplates: function () { return board.getTemplates(); }, rate: function () { return board.rate(); } }; } exports.hexGame = hexGame; function stone(position) { return new stone_1.Stone(position, null); } exports.stone = stone; __exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map