brain-games-irastypain
Version:
This package is implementation of first project at Hexlet
41 lines (30 loc) • 3.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _ = require('..');
var _qa = require('../lib/qa');
var _math = require('../lib/math');
exports.default = function () {
var description = 'What number is missing in this progression?';
var generateQA = function generateQA() {
var minNumber = 1;
var maxNumber = 1000;
var startNumber = (0, _math.getRandomInt)(minNumber, maxNumber);
var gain = 2;
var countItems = 10;
var progressionItems = (0, _math.genArithmeticProgression)(startNumber, gain, countItems);
var startIndex = 0;
var missingItemIndex = (0, _math.getRandomInt)(startIndex, countItems - 1);
var question = progressionItems.map(function (item, index) {
if (index === missingItemIndex) {
return '..';
}
return String(item);
}).join(' ');
var answer = progressionItems[missingItemIndex];
return (0, _qa.makeQA)(question, answer);
};
(0, _.runGame)(description, generateQA);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJkZXNjcmlwdGlvbiIsImdlbmVyYXRlUUEiLCJtaW5OdW1iZXIiLCJtYXhOdW1iZXIiLCJzdGFydE51bWJlciIsImdhaW4iLCJjb3VudEl0ZW1zIiwicHJvZ3Jlc3Npb25JdGVtcyIsInN0YXJ0SW5kZXgiLCJtaXNzaW5nSXRlbUluZGV4IiwicXVlc3Rpb24iLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJTdHJpbmciLCJqb2luIiwiYW5zd2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7a0JBRWUsWUFBTTtBQUNuQixNQUFNQSxjQUFjLDZDQUFwQjtBQUNBLE1BQU1DLGFBQWEsU0FBYkEsVUFBYSxHQUFNO0FBQ3ZCLFFBQU1DLFlBQVksQ0FBbEI7QUFDQSxRQUFNQyxZQUFZLElBQWxCO0FBQ0EsUUFBTUMsY0FBYyx3QkFBYUYsU0FBYixFQUF3QkMsU0FBeEIsQ0FBcEI7O0FBRUEsUUFBTUUsT0FBTyxDQUFiO0FBQ0EsUUFBTUMsYUFBYSxFQUFuQjtBQUNBLFFBQU1DLG1CQUFtQixvQ0FBeUJILFdBQXpCLEVBQXNDQyxJQUF0QyxFQUE0Q0MsVUFBNUMsQ0FBekI7O0FBRUEsUUFBTUUsYUFBYSxDQUFuQjtBQUNBLFFBQU1DLG1CQUFtQix3QkFBYUQsVUFBYixFQUF5QkYsYUFBYSxDQUF0QyxDQUF6Qjs7QUFFQSxRQUFNSSxXQUFXSCxpQkFBaUJJLEdBQWpCLENBQXFCLFVBQUNDLElBQUQsRUFBT0MsS0FBUCxFQUFpQjtBQUNyRCxVQUFJQSxVQUFVSixnQkFBZCxFQUFnQztBQUM5QixlQUFPLElBQVA7QUFDRDtBQUNELGFBQU9LLE9BQU9GLElBQVAsQ0FBUDtBQUNELEtBTGdCLEVBS2RHLElBTGMsQ0FLVCxHQUxTLENBQWpCOztBQU9BLFFBQU1DLFNBQVNULGlCQUFpQkUsZ0JBQWpCLENBQWY7O0FBRUEsV0FBTyxnQkFBT0MsUUFBUCxFQUFpQk0sTUFBakIsQ0FBUDtBQUNELEdBdEJEOztBQXdCQSxpQkFBUWhCLFdBQVIsRUFBcUJDLFVBQXJCO0FBQ0QsQyIsImZpbGUiOiJwcm9ncmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJ1bkdhbWUgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBtYWtlUUEgfSBmcm9tICcuLi9saWIvcWEnO1xuaW1wb3J0IHsgZ2V0UmFuZG9tSW50LCBnZW5Bcml0aG1ldGljUHJvZ3Jlc3Npb24gfSBmcm9tICcuLi9saWIvbWF0aCc7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgY29uc3QgZGVzY3JpcHRpb24gPSAnV2hhdCBudW1iZXIgaXMgbWlzc2luZyBpbiB0aGlzIHByb2dyZXNzaW9uPyc7XG4gIGNvbnN0IGdlbmVyYXRlUUEgPSAoKSA9PiB7XG4gICAgY29uc3QgbWluTnVtYmVyID0gMTtcbiAgICBjb25zdCBtYXhOdW1iZXIgPSAxMDAwO1xuICAgIGNvbnN0IHN0YXJ0TnVtYmVyID0gZ2V0UmFuZG9tSW50KG1pbk51bWJlciwgbWF4TnVtYmVyKTtcblxuICAgIGNvbnN0IGdhaW4gPSAyO1xuICAgIGNvbnN0IGNvdW50SXRlbXMgPSAxMDtcbiAgICBjb25zdCBwcm9ncmVzc2lvbkl0ZW1zID0gZ2VuQXJpdGhtZXRpY1Byb2dyZXNzaW9uKHN0YXJ0TnVtYmVyLCBnYWluLCBjb3VudEl0ZW1zKTtcblxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAwO1xuICAgIGNvbnN0IG1pc3NpbmdJdGVtSW5kZXggPSBnZXRSYW5kb21JbnQoc3RhcnRJbmRleCwgY291bnRJdGVtcyAtIDEpO1xuXG4gICAgY29uc3QgcXVlc3Rpb24gPSBwcm9ncmVzc2lvbkl0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gbWlzc2luZ0l0ZW1JbmRleCkge1xuICAgICAgICByZXR1cm4gJy4uJztcbiAgICAgIH1cbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSkuam9pbignICcpO1xuXG4gICAgY29uc3QgYW5zd2VyID0gcHJvZ3Jlc3Npb25JdGVtc1ttaXNzaW5nSXRlbUluZGV4XTtcblxuICAgIHJldHVybiBtYWtlUUEocXVlc3Rpb24sIGFuc3dlcik7XG4gIH07XG5cbiAgcnVuR2FtZShkZXNjcmlwdGlvbiwgZ2VuZXJhdGVRQSk7XG59O1xuIl19