brain-games-mserov
Version:
[](https://codeclimate.com/github/mserov/project-lvl1-s192/maintainability) [](http
54 lines (36 loc) • 4.5 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hexletPairs = require('hexlet-pairs');
var _ = require('..');
var _2 = _interopRequireDefault(_);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var game = function game() {
var rules = 'What number is missing in this progression?';
var generateQuestionAnswer = function generateQuestionAnswer() {
var generateSequence = function generateSequence(length) {
var maxNum = 100;
var diff = Math.floor(Math.random() * 9) + 1;
var a = Math.floor(Math.random() * maxNum);
var str = '';
var missingIndex = Math.floor(Math.random() * length);
var missing = a + missingIndex * diff;
for (var i = 0; i < length; i += 1) {
if (i === missingIndex) {
str += '.. ';
} else str += a + ' ';
a += diff;
}
return (0, _hexletPairs.cons)(str, missing);
};
var length = 10;
var sourceSequenceAnswer = generateSequence(length);
var question = (0, _hexletPairs.car)(sourceSequenceAnswer);
var correctAnswer = String((0, _hexletPairs.cdr)(sourceSequenceAnswer));
return (0, _hexletPairs.cons)(question, correctAnswer);
};
(0, _2.default)(rules, generateQuestionAnswer);
};
exports.default = game;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9icmFpbi1wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJnYW1lIiwicnVsZXMiLCJnZW5lcmF0ZVF1ZXN0aW9uQW5zd2VyIiwiZ2VuZXJhdGVTZXF1ZW5jZSIsImxlbmd0aCIsIm1heE51bSIsImRpZmYiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJhIiwic3RyIiwibWlzc2luZ0luZGV4IiwibWlzc2luZyIsImkiLCJzb3VyY2VTZXF1ZW5jZUFuc3dlciIsInF1ZXN0aW9uIiwiY29ycmVjdEFuc3dlciIsIlN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLE9BQU8sU0FBUEEsSUFBTyxHQUFNO0FBQ2pCLE1BQU1DLFFBQVEsNkNBQWQ7O0FBRUEsTUFBTUMseUJBQXlCLFNBQXpCQSxzQkFBeUIsR0FBTTtBQUNuQyxRQUFNQyxtQkFBbUIsU0FBbkJBLGdCQUFtQixDQUFDQyxNQUFELEVBQVk7QUFDbkMsVUFBTUMsU0FBUyxHQUFmO0FBQ0EsVUFBTUMsT0FBT0MsS0FBS0MsS0FBTCxDQUFXRCxLQUFLRSxNQUFMLEtBQWdCLENBQTNCLElBQWdDLENBQTdDOztBQUVBLFVBQUlDLElBQUlILEtBQUtDLEtBQUwsQ0FBV0QsS0FBS0UsTUFBTCxLQUFnQkosTUFBM0IsQ0FBUjtBQUNBLFVBQUlNLE1BQU0sRUFBVjs7QUFFQSxVQUFNQyxlQUFlTCxLQUFLQyxLQUFMLENBQVdELEtBQUtFLE1BQUwsS0FBZ0JMLE1BQTNCLENBQXJCO0FBQ0EsVUFBTVMsVUFBVUgsSUFBS0UsZUFBZU4sSUFBcEM7O0FBRUEsV0FBSyxJQUFJUSxJQUFJLENBQWIsRUFBZ0JBLElBQUlWLE1BQXBCLEVBQTRCVSxLQUFLLENBQWpDLEVBQW9DO0FBQ2xDLFlBQUlBLE1BQU1GLFlBQVYsRUFBd0I7QUFDdEJELGlCQUFPLEtBQVA7QUFDRCxTQUZELE1BRU9BLE9BQVVELENBQVY7O0FBRVBBLGFBQUtKLElBQUw7QUFDRDs7QUFFRCxhQUFPLHVCQUFLSyxHQUFMLEVBQVVFLE9BQVYsQ0FBUDtBQUNELEtBbkJEOztBQXFCQSxRQUFNVCxTQUFTLEVBQWY7O0FBRUEsUUFBTVcsdUJBQXVCWixpQkFBaUJDLE1BQWpCLENBQTdCOztBQUVBLFFBQU1ZLFdBQVcsc0JBQUlELG9CQUFKLENBQWpCO0FBQ0EsUUFBTUUsZ0JBQWdCQyxPQUFPLHNCQUFJSCxvQkFBSixDQUFQLENBQXRCOztBQUVBLFdBQU8sdUJBQUtDLFFBQUwsRUFBZUMsYUFBZixDQUFQO0FBQ0QsR0E5QkQ7O0FBZ0NBLGtCQUFPaEIsS0FBUCxFQUFjQyxzQkFBZDtBQUNELENBcENEOztrQkFzQ2VGLEkiLCJmaWxlIjoiYnJhaW4tcHJvZ3Jlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zLCBjYXIsIGNkciB9IGZyb20gJ2hleGxldC1wYWlycyc7XG5pbXBvcnQgZW5naW5lIGZyb20gJy4uJztcblxuY29uc3QgZ2FtZSA9ICgpID0+IHtcbiAgY29uc3QgcnVsZXMgPSAnV2hhdCBudW1iZXIgaXMgbWlzc2luZyBpbiB0aGlzIHByb2dyZXNzaW9uPyc7XG5cbiAgY29uc3QgZ2VuZXJhdGVRdWVzdGlvbkFuc3dlciA9ICgpID0+IHtcbiAgICBjb25zdCBnZW5lcmF0ZVNlcXVlbmNlID0gKGxlbmd0aCkgPT4ge1xuICAgICAgY29uc3QgbWF4TnVtID0gMTAwO1xuICAgICAgY29uc3QgZGlmZiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDkpICsgMTtcblxuICAgICAgbGV0IGEgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBtYXhOdW0pO1xuICAgICAgbGV0IHN0ciA9ICcnO1xuXG4gICAgICBjb25zdCBtaXNzaW5nSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsZW5ndGgpO1xuICAgICAgY29uc3QgbWlzc2luZyA9IGEgKyAobWlzc2luZ0luZGV4ICogZGlmZik7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKGkgPT09IG1pc3NpbmdJbmRleCkge1xuICAgICAgICAgIHN0ciArPSAnLi4gJztcbiAgICAgICAgfSBlbHNlIHN0ciArPSBgJHthfSBgO1xuXG4gICAgICAgIGEgKz0gZGlmZjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnMoc3RyLCBtaXNzaW5nKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbGVuZ3RoID0gMTA7XG5cbiAgICBjb25zdCBzb3VyY2VTZXF1ZW5jZUFuc3dlciA9IGdlbmVyYXRlU2VxdWVuY2UobGVuZ3RoKTtcblxuICAgIGNvbnN0IHF1ZXN0aW9uID0gY2FyKHNvdXJjZVNlcXVlbmNlQW5zd2VyKTtcbiAgICBjb25zdCBjb3JyZWN0QW5zd2VyID0gU3RyaW5nKGNkcihzb3VyY2VTZXF1ZW5jZUFuc3dlcikpO1xuXG4gICAgcmV0dXJuIGNvbnMocXVlc3Rpb24sIGNvcnJlY3RBbnN3ZXIpO1xuICB9O1xuXG4gIGVuZ2luZShydWxlcywgZ2VuZXJhdGVRdWVzdGlvbkFuc3dlcik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnYW1lO1xuIl19
;