UNPKG

brain-game-108

Version:
45 lines (32 loc) 4.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _hexletPairs = require("hexlet-pairs"); var _utils = _interopRequireDefault(require("../utils")); var _ = _interopRequireDefault(require("..")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const header = 'What number is missing in the progression?\n'; const progressionLength = 10; const gameProgressionBody = () => { const progressionStep = (0, _utils.default)(0, 10); const startNumber = (0, _utils.default)(0, 100); const positionOfAnswer = (0, _utils.default)(0, progressionLength - 1); const listWithQuestion = (count, acc) => { if (count === progressionLength) { return acc; } if (count === positionOfAnswer) { return listWithQuestion(count + 1, `${acc} ..`); } const newElement = startNumber + count * progressionStep; return listWithQuestion(count + 1, `${acc} ${newElement}`); }; const question = listWithQuestion(1, startNumber); const answer = startNumber + positionOfAnswer * progressionStep; return (0, _hexletPairs.cons)(question, String(answer)); }; var _default = () => (0, _.default)(header, gameProgressionBody); exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJoZWFkZXIiLCJwcm9ncmVzc2lvbkxlbmd0aCIsImdhbWVQcm9ncmVzc2lvbkJvZHkiLCJwcm9ncmVzc2lvblN0ZXAiLCJzdGFydE51bWJlciIsInBvc2l0aW9uT2ZBbnN3ZXIiLCJsaXN0V2l0aFF1ZXN0aW9uIiwiY291bnQiLCJhY2MiLCJuZXdFbGVtZW50IiwicXVlc3Rpb24iLCJhbnN3ZXIiLCJTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLE1BQU0sR0FBRyw4Q0FBZjtBQUNBLE1BQU1DLGlCQUFpQixHQUFHLEVBQTFCOztBQUVBLE1BQU1DLG1CQUFtQixHQUFHLE1BQU07QUFDaEMsUUFBTUMsZUFBZSxHQUFHLG9CQUFhLENBQWIsRUFBZ0IsRUFBaEIsQ0FBeEI7QUFDQSxRQUFNQyxXQUFXLEdBQUcsb0JBQWEsQ0FBYixFQUFnQixHQUFoQixDQUFwQjtBQUNBLFFBQU1DLGdCQUFnQixHQUFHLG9CQUFhLENBQWIsRUFBZ0JKLGlCQUFpQixHQUFHLENBQXBDLENBQXpCOztBQUNBLFFBQU1LLGdCQUFnQixHQUFHLENBQUNDLEtBQUQsRUFBUUMsR0FBUixLQUFnQjtBQUN2QyxRQUFJRCxLQUFLLEtBQUtOLGlCQUFkLEVBQWlDO0FBQy9CLGFBQU9PLEdBQVA7QUFDRDs7QUFDRCxRQUFJRCxLQUFLLEtBQUtGLGdCQUFkLEVBQWdDO0FBQzlCLGFBQU9DLGdCQUFnQixDQUFDQyxLQUFLLEdBQUcsQ0FBVCxFQUFhLEdBQUVDLEdBQUksS0FBbkIsQ0FBdkI7QUFDRDs7QUFDRCxVQUFNQyxVQUFVLEdBQUdMLFdBQVcsR0FBR0csS0FBSyxHQUFHSixlQUF6QztBQUNBLFdBQU9HLGdCQUFnQixDQUFDQyxLQUFLLEdBQUcsQ0FBVCxFQUFhLEdBQUVDLEdBQUksSUFBR0MsVUFBVyxFQUFqQyxDQUF2QjtBQUNELEdBVEQ7O0FBVUEsUUFBTUMsUUFBUSxHQUFHSixnQkFBZ0IsQ0FBQyxDQUFELEVBQUlGLFdBQUosQ0FBakM7QUFDQSxRQUFNTyxNQUFNLEdBQUdQLFdBQVcsR0FBR0MsZ0JBQWdCLEdBQUdGLGVBQWhEO0FBQ0EsU0FBTyx1QkFBS08sUUFBTCxFQUFlRSxNQUFNLENBQUNELE1BQUQsQ0FBckIsQ0FBUDtBQUNELENBakJEOztlQW1CZSxNQUFNLGVBQUtYLE1BQUwsRUFBYUUsbUJBQWIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMgfSBmcm9tICdoZXhsZXQtcGFpcnMnO1xuaW1wb3J0IHJhbmRvbU51bWJlciBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgZ2FtZSBmcm9tICcuLic7XG5cbmNvbnN0IGhlYWRlciA9ICdXaGF0IG51bWJlciBpcyBtaXNzaW5nIGluIHRoZSBwcm9ncmVzc2lvbj9cXG4nO1xuY29uc3QgcHJvZ3Jlc3Npb25MZW5ndGggPSAxMDtcblxuY29uc3QgZ2FtZVByb2dyZXNzaW9uQm9keSA9ICgpID0+IHtcbiAgY29uc3QgcHJvZ3Jlc3Npb25TdGVwID0gcmFuZG9tTnVtYmVyKDAsIDEwKTtcbiAgY29uc3Qgc3RhcnROdW1iZXIgPSByYW5kb21OdW1iZXIoMCwgMTAwKTtcbiAgY29uc3QgcG9zaXRpb25PZkFuc3dlciA9IHJhbmRvbU51bWJlcigwLCBwcm9ncmVzc2lvbkxlbmd0aCAtIDEpO1xuICBjb25zdCBsaXN0V2l0aFF1ZXN0aW9uID0gKGNvdW50LCBhY2MpID0+IHtcbiAgICBpZiAoY291bnQgPT09IHByb2dyZXNzaW9uTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbiAgICBpZiAoY291bnQgPT09IHBvc2l0aW9uT2ZBbnN3ZXIpIHtcbiAgICAgIHJldHVybiBsaXN0V2l0aFF1ZXN0aW9uKGNvdW50ICsgMSwgYCR7YWNjfSAuLmApO1xuICAgIH1cbiAgICBjb25zdCBuZXdFbGVtZW50ID0gc3RhcnROdW1iZXIgKyBjb3VudCAqIHByb2dyZXNzaW9uU3RlcDtcbiAgICByZXR1cm4gbGlzdFdpdGhRdWVzdGlvbihjb3VudCArIDEsIGAke2FjY30gJHtuZXdFbGVtZW50fWApO1xuICB9O1xuICBjb25zdCBxdWVzdGlvbiA9IGxpc3RXaXRoUXVlc3Rpb24oMSwgc3RhcnROdW1iZXIpO1xuICBjb25zdCBhbnN3ZXIgPSBzdGFydE51bWJlciArIHBvc2l0aW9uT2ZBbnN3ZXIgKiBwcm9ncmVzc2lvblN0ZXA7XG4gIHJldHVybiBjb25zKHF1ZXN0aW9uLCBTdHJpbmcoYW5zd2VyKSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiBnYW1lKGhlYWRlciwgZ2FtZVByb2dyZXNzaW9uQm9keSk7XG4iXX0=