newbymikhail
Version:
brain-games project for student
49 lines (38 loc) • 4.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hexletPairs = require('hexlet-pairs');
var _game = require('../game');
var _game2 = _interopRequireDefault(_game);
var _utils = require('../utils');
var _utils2 = _interopRequireDefault(_utils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var descriptionGame = 'What number is missing in this progression?';
var progressionLength = 10;
var max = 20;
var maxStep = 5;
var minStep = 1;
var getProgression = function getProgression() {
var firstElement = (0, _utils2.default)(max);
var step = (0, _utils2.default)(maxStep, minStep);
var progression = [firstElement];
while (progression.length <= progressionLength) {
progression.push(firstElement + step * progression.length);
}
return progression;
};
var questionAndAnswer = function questionAndAnswer() {
var progression = getProgression();
var indexOfAnswer = (0, _utils2.default)(progressionLength);
var answer = progression[indexOfAnswer];
progression[indexOfAnswer] = '..';
var question = progression.reduce(function (acc, element) {
return '' + acc + element + ' ';
}, '');
return (0, _hexletPairs.cons)(question, '' + answer);
};
exports.default = function () {
return (0, _game2.default)(descriptionGame, questionAndAnswer);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJkZXNjcmlwdGlvbkdhbWUiLCJwcm9ncmVzc2lvbkxlbmd0aCIsIm1heCIsIm1heFN0ZXAiLCJtaW5TdGVwIiwiZ2V0UHJvZ3Jlc3Npb24iLCJmaXJzdEVsZW1lbnQiLCJzdGVwIiwicHJvZ3Jlc3Npb24iLCJsZW5ndGgiLCJwdXNoIiwicXVlc3Rpb25BbmRBbnN3ZXIiLCJpbmRleE9mQW5zd2VyIiwiYW5zd2VyIiwicXVlc3Rpb24iLCJyZWR1Y2UiLCJhY2MiLCJlbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsNkNBQXhCO0FBQ0EsSUFBTUMsb0JBQW9CLEVBQTFCO0FBQ0EsSUFBTUMsTUFBTSxFQUFaO0FBQ0EsSUFBTUMsVUFBVSxDQUFoQjtBQUNBLElBQU1DLFVBQVUsQ0FBaEI7O0FBRUEsSUFBTUMsaUJBQWlCLFNBQWpCQSxjQUFpQixHQUFNO0FBQzNCLE1BQU1DLGVBQWUscUJBQWdCSixHQUFoQixDQUFyQjtBQUNBLE1BQU1LLE9BQU8scUJBQWdCSixPQUFoQixFQUF5QkMsT0FBekIsQ0FBYjtBQUNBLE1BQU1JLGNBQWMsQ0FBQ0YsWUFBRCxDQUFwQjtBQUNBLFNBQU9FLFlBQVlDLE1BQVosSUFBc0JSLGlCQUE3QixFQUFnRDtBQUM5Q08sZ0JBQVlFLElBQVosQ0FBaUJKLGVBQWdCQyxPQUFPQyxZQUFZQyxNQUFwRDtBQUNEO0FBQ0QsU0FBT0QsV0FBUDtBQUNELENBUkQ7O0FBVUEsSUFBTUcsb0JBQW9CLFNBQXBCQSxpQkFBb0IsR0FBTTtBQUM5QixNQUFNSCxjQUFjSCxnQkFBcEI7QUFDQSxNQUFNTyxnQkFBZ0IscUJBQWdCWCxpQkFBaEIsQ0FBdEI7QUFDQSxNQUFNWSxTQUFTTCxZQUFZSSxhQUFaLENBQWY7QUFDQUosY0FBWUksYUFBWixJQUE2QixJQUE3QjtBQUNBLE1BQU1FLFdBQVdOLFlBQVlPLE1BQVosQ0FBbUIsVUFBQ0MsR0FBRCxFQUFNQyxPQUFOO0FBQUEsZ0JBQXFCRCxHQUFyQixHQUEyQkMsT0FBM0I7QUFBQSxHQUFuQixFQUEwRCxFQUExRCxDQUFqQjtBQUNBLFNBQU8sdUJBQUtILFFBQUwsT0FBa0JELE1BQWxCLENBQVA7QUFDRCxDQVBEOztrQkFTZTtBQUFBLFNBQU0sb0JBQUtiLGVBQUwsRUFBc0JXLGlCQUF0QixDQUFOO0FBQUEsQyIsImZpbGUiOiJwcm9ncmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMgfSBmcm9tICdoZXhsZXQtcGFpcnMnO1xyXG5pbXBvcnQgZ2FtZSBmcm9tICcuLi9nYW1lJztcclxuaW1wb3J0IGdldFJhbmRvbU51bWJlciBmcm9tICcuLi91dGlscyc7XHJcblxyXG5jb25zdCBkZXNjcmlwdGlvbkdhbWUgPSAnV2hhdCBudW1iZXIgaXMgbWlzc2luZyBpbiB0aGlzIHByb2dyZXNzaW9uPyc7XHJcbmNvbnN0IHByb2dyZXNzaW9uTGVuZ3RoID0gMTA7XHJcbmNvbnN0IG1heCA9IDIwO1xyXG5jb25zdCBtYXhTdGVwID0gNTtcclxuY29uc3QgbWluU3RlcCA9IDE7XHJcblxyXG5jb25zdCBnZXRQcm9ncmVzc2lvbiA9ICgpID0+IHtcclxuICBjb25zdCBmaXJzdEVsZW1lbnQgPSBnZXRSYW5kb21OdW1iZXIobWF4KTtcclxuICBjb25zdCBzdGVwID0gZ2V0UmFuZG9tTnVtYmVyKG1heFN0ZXAsIG1pblN0ZXApO1xyXG4gIGNvbnN0IHByb2dyZXNzaW9uID0gW2ZpcnN0RWxlbWVudF07XHJcbiAgd2hpbGUgKHByb2dyZXNzaW9uLmxlbmd0aCA8PSBwcm9ncmVzc2lvbkxlbmd0aCkge1xyXG4gICAgcHJvZ3Jlc3Npb24ucHVzaChmaXJzdEVsZW1lbnQgKyAoc3RlcCAqIHByb2dyZXNzaW9uLmxlbmd0aCkpO1xyXG4gIH1cclxuICByZXR1cm4gcHJvZ3Jlc3Npb247XHJcbn07XHJcblxyXG5jb25zdCBxdWVzdGlvbkFuZEFuc3dlciA9ICgpID0+IHtcclxuICBjb25zdCBwcm9ncmVzc2lvbiA9IGdldFByb2dyZXNzaW9uKCk7XHJcbiAgY29uc3QgaW5kZXhPZkFuc3dlciA9IGdldFJhbmRvbU51bWJlcihwcm9ncmVzc2lvbkxlbmd0aCk7XHJcbiAgY29uc3QgYW5zd2VyID0gcHJvZ3Jlc3Npb25baW5kZXhPZkFuc3dlcl07XHJcbiAgcHJvZ3Jlc3Npb25baW5kZXhPZkFuc3dlcl0gPSAnLi4nO1xyXG4gIGNvbnN0IHF1ZXN0aW9uID0gcHJvZ3Jlc3Npb24ucmVkdWNlKChhY2MsIGVsZW1lbnQpID0+IGAke2FjY30ke2VsZW1lbnR9IGAsICcnKTtcclxuICByZXR1cm4gY29ucyhxdWVzdGlvbiwgYCR7YW5zd2VyfWApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gZ2FtZShkZXNjcmlwdGlvbkdhbWUsIHF1ZXN0aW9uQW5kQW5zd2VyKTtcclxuIl19