UNPKG

brain-games-dmitry-sorokin

Version:
40 lines (30 loc) 3.48 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _hexletPairs = require('hexlet-pairs'); var _ = require('..'); var _2 = _interopRequireDefault(_); var _random = require('../random'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var gameRules = 'What number is missing in this progression?'; // const randomNumber = () => Math.floor(Math.random() * 100); var generateQuestion = function generateQuestion() { var lengthOfProgression = 10; var start = (0, _random.randomNumTen)(); var step = (0, _random.randomNumTen)() + 2; var hidden = (0, _random.randomNumTen)(); var num = Array(lengthOfProgression).fill(null).map(function (e, i) { return start + step * i; }); var question = num.map(function (e, i) { return i === hidden ? '..' : e; }).join(' '); var answer = String(num[hidden]); return (0, _hexletPairs.cons)(question, answer); }; var startProgression = function startProgression() { return (0, _2.default)(gameRules, generateQuestion); }; exports.default = startProgression; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJnYW1lUnVsZXMiLCJnZW5lcmF0ZVF1ZXN0aW9uIiwibGVuZ3RoT2ZQcm9ncmVzc2lvbiIsInN0YXJ0Iiwic3RlcCIsImhpZGRlbiIsIm51bSIsIkFycmF5IiwiZmlsbCIsIm1hcCIsImUiLCJpIiwicXVlc3Rpb24iLCJqb2luIiwiYW5zd2VyIiwiU3RyaW5nIiwic3RhcnRQcm9ncmVzc2lvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBLElBQU1BLFlBQVksNkNBQWxCOztBQUVBOztBQUVBLElBQU1DLG1CQUFtQixTQUFuQkEsZ0JBQW1CLEdBQU07QUFDN0IsTUFBTUMsc0JBQXNCLEVBQTVCO0FBQ0EsTUFBTUMsUUFBUSwyQkFBZDtBQUNBLE1BQU1DLE9BQU8sOEJBQWlCLENBQTlCO0FBQ0EsTUFBTUMsU0FBUywyQkFBZjtBQUNBLE1BQU1DLE1BQU1DLE1BQU1MLG1CQUFOLEVBQTJCTSxJQUEzQixDQUFnQyxJQUFoQyxFQUFzQ0MsR0FBdEMsQ0FBMEMsVUFBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsV0FBVVIsUUFBU0MsT0FBT08sQ0FBMUI7QUFBQSxHQUExQyxDQUFaO0FBQ0EsTUFBTUMsV0FBV04sSUFBSUcsR0FBSixDQUFRLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVdBLE1BQU1OLE1BQU4sR0FBZSxJQUFmLEdBQXNCSyxDQUFqQztBQUFBLEdBQVIsRUFBNkNHLElBQTdDLENBQWtELEdBQWxELENBQWpCO0FBQ0EsTUFBTUMsU0FBU0MsT0FBT1QsSUFBSUQsTUFBSixDQUFQLENBQWY7QUFDQSxTQUFPLHVCQUFLTyxRQUFMLEVBQWVFLE1BQWYsQ0FBUDtBQUNELENBVEQ7QUFVQSxJQUFNRSxtQkFBbUIsU0FBbkJBLGdCQUFtQjtBQUFBLFNBQU0sZ0JBQWNoQixTQUFkLEVBQXlCQyxnQkFBekIsQ0FBTjtBQUFBLENBQXpCOztrQkFFZWUsZ0IiLCJmaWxlIjoicHJvZ3Jlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcbmltcG9ydCBnYW1lSW50ZXJmYWNlIGZyb20gJy4uJztcbmltcG9ydCB7IHJhbmRvbU51bVRlbiB9IGZyb20gJy4uL3JhbmRvbSc7XG5cbmNvbnN0IGdhbWVSdWxlcyA9ICdXaGF0IG51bWJlciBpcyBtaXNzaW5nIGluIHRoaXMgcHJvZ3Jlc3Npb24/JztcblxuLy8gY29uc3QgcmFuZG9tTnVtYmVyID0gKCkgPT4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwKTtcblxuY29uc3QgZ2VuZXJhdGVRdWVzdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgbGVuZ3RoT2ZQcm9ncmVzc2lvbiA9IDEwO1xuICBjb25zdCBzdGFydCA9IHJhbmRvbU51bVRlbigpO1xuICBjb25zdCBzdGVwID0gcmFuZG9tTnVtVGVuKCkgKyAyO1xuICBjb25zdCBoaWRkZW4gPSByYW5kb21OdW1UZW4oKTtcbiAgY29uc3QgbnVtID0gQXJyYXkobGVuZ3RoT2ZQcm9ncmVzc2lvbikuZmlsbChudWxsKS5tYXAoKGUsIGkpID0+IHN0YXJ0ICsgKHN0ZXAgKiBpKSk7XG4gIGNvbnN0IHF1ZXN0aW9uID0gbnVtLm1hcCgoZSwgaSkgPT4gKGkgPT09IGhpZGRlbiA/ICcuLicgOiBlKSkuam9pbignICcpO1xuICBjb25zdCBhbnN3ZXIgPSBTdHJpbmcobnVtW2hpZGRlbl0pO1xuICByZXR1cm4gY29ucyhxdWVzdGlvbiwgYW5zd2VyKTtcbn07XG5jb25zdCBzdGFydFByb2dyZXNzaW9uID0gKCkgPT4gZ2FtZUludGVyZmFjZShnYW1lUnVsZXMsIGdlbmVyYXRlUXVlc3Rpb24pO1xuXG5leHBvcnQgZGVmYXVsdCBzdGFydFByb2dyZXNzaW9uO1xuIl19