hexletbackendproject1
Version:
Let's play some games
43 lines (31 loc) • 4.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _pairs = require("@hexlet/pairs");
var _utils = _interopRequireDefault(require("../utils"));
var _ = _interopRequireDefault(require(".."));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const gameDescription = 'What number is missing in the progression?';
const makeQuestion = (firstElement, diff, index, length) => {
let data = '';
for (let i = 1; i <= length; i += 1) {
if (i === index) data = `${data} .. `;else data = `${data} ${firstElement + diff * (i - 1)}`;
}
return data;
};
const generateGameData = () => {
const progressionLength = 10;
const begin = (0, _utils.default)(1, 20);
const difference = (0, _utils.default)(1, 10);
const missingElementIndex = (0, _utils.default)(1, progressionLength);
const rightAnswer = begin + difference * (missingElementIndex - 1);
const question = makeQuestion(begin, difference, missingElementIndex, progressionLength);
return (0, _pairs.cons)(question, String(rightAnswer));
};
var _default = () => {
(0, _.default)(generateGameData, gameDescription);
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJnYW1lRGVzY3JpcHRpb24iLCJtYWtlUXVlc3Rpb24iLCJmaXJzdEVsZW1lbnQiLCJkaWZmIiwiaW5kZXgiLCJsZW5ndGgiLCJkYXRhIiwiaSIsImdlbmVyYXRlR2FtZURhdGEiLCJwcm9ncmVzc2lvbkxlbmd0aCIsImJlZ2luIiwiZGlmZmVyZW5jZSIsIm1pc3NpbmdFbGVtZW50SW5kZXgiLCJyaWdodEFuc3dlciIsInF1ZXN0aW9uIiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBRUE7Ozs7QUFFQSxNQUFNQSxlQUFlLEdBQUcsNENBQXhCOztBQUVBLE1BQU1DLFlBQVksR0FBRyxDQUFDQyxZQUFELEVBQWVDLElBQWYsRUFBcUJDLEtBQXJCLEVBQTRCQyxNQUE1QixLQUF1QztBQUMxRCxNQUFJQyxJQUFJLEdBQUcsRUFBWDs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLElBQUlGLE1BQXJCLEVBQTZCRSxDQUFDLElBQUksQ0FBbEMsRUFBcUM7QUFDbkMsUUFBSUEsQ0FBQyxLQUFLSCxLQUFWLEVBQWlCRSxJQUFJLEdBQUksR0FBRUEsSUFBSyxNQUFmLENBQWpCLEtBQ0tBLElBQUksR0FBSSxHQUFFQSxJQUFLLElBQUdKLFlBQVksR0FBR0MsSUFBSSxJQUFJSSxDQUFDLEdBQUcsQ0FBUixDQUFXLEVBQWhEO0FBQ047O0FBQ0QsU0FBT0QsSUFBUDtBQUNELENBUEQ7O0FBUUEsTUFBTUUsZ0JBQWdCLEdBQUcsTUFBTTtBQUM3QixRQUFNQyxpQkFBaUIsR0FBRyxFQUExQjtBQUNBLFFBQU1DLEtBQUssR0FBRyxvQkFBaUIsQ0FBakIsRUFBb0IsRUFBcEIsQ0FBZDtBQUNBLFFBQU1DLFVBQVUsR0FBRyxvQkFBaUIsQ0FBakIsRUFBb0IsRUFBcEIsQ0FBbkI7QUFDQSxRQUFNQyxtQkFBbUIsR0FBRyxvQkFBaUIsQ0FBakIsRUFBb0JILGlCQUFwQixDQUE1QjtBQUNBLFFBQU1JLFdBQVcsR0FBR0gsS0FBSyxHQUFHQyxVQUFVLElBQUlDLG1CQUFtQixHQUFHLENBQTFCLENBQXRDO0FBQ0EsUUFBTUUsUUFBUSxHQUFHYixZQUFZLENBQUNTLEtBQUQsRUFBUUMsVUFBUixFQUFvQkMsbUJBQXBCLEVBQXlDSCxpQkFBekMsQ0FBN0I7QUFDQSxTQUFPLGlCQUFLSyxRQUFMLEVBQWVDLE1BQU0sQ0FBQ0YsV0FBRCxDQUFyQixDQUFQO0FBQ0QsQ0FSRDs7ZUFTZSxNQUFNO0FBQ25CLGlCQUFTTCxnQkFBVCxFQUEyQlIsZUFBM0I7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29ucyB9IGZyb20gJ0BoZXhsZXQvcGFpcnMnO1xuXG5pbXBvcnQgZ2V0UmFuZG9tSW5SYW5nZSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCBwbGF5R2FtZSBmcm9tICcuLic7XG5cbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdXaGF0IG51bWJlciBpcyBtaXNzaW5nIGluIHRoZSBwcm9ncmVzc2lvbj8nO1xuXG5jb25zdCBtYWtlUXVlc3Rpb24gPSAoZmlyc3RFbGVtZW50LCBkaWZmLCBpbmRleCwgbGVuZ3RoKSA9PiB7XG4gIGxldCBkYXRhID0gJyc7XG4gIGZvciAobGV0IGkgPSAxOyBpIDw9IGxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKGkgPT09IGluZGV4KSBkYXRhID0gYCR7ZGF0YX0gLi4gYDtcbiAgICBlbHNlIGRhdGEgPSBgJHtkYXRhfSAke2ZpcnN0RWxlbWVudCArIGRpZmYgKiAoaSAtIDEpfWA7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59O1xuY29uc3QgZ2VuZXJhdGVHYW1lRGF0YSA9ICgpID0+IHtcbiAgY29uc3QgcHJvZ3Jlc3Npb25MZW5ndGggPSAxMDtcbiAgY29uc3QgYmVnaW4gPSBnZXRSYW5kb21JblJhbmdlKDEsIDIwKTtcbiAgY29uc3QgZGlmZmVyZW5jZSA9IGdldFJhbmRvbUluUmFuZ2UoMSwgMTApO1xuICBjb25zdCBtaXNzaW5nRWxlbWVudEluZGV4ID0gZ2V0UmFuZG9tSW5SYW5nZSgxLCBwcm9ncmVzc2lvbkxlbmd0aCk7XG4gIGNvbnN0IHJpZ2h0QW5zd2VyID0gYmVnaW4gKyBkaWZmZXJlbmNlICogKG1pc3NpbmdFbGVtZW50SW5kZXggLSAxKTtcbiAgY29uc3QgcXVlc3Rpb24gPSBtYWtlUXVlc3Rpb24oYmVnaW4sIGRpZmZlcmVuY2UsIG1pc3NpbmdFbGVtZW50SW5kZXgsIHByb2dyZXNzaW9uTGVuZ3RoKTtcbiAgcmV0dXJuIGNvbnMocXVlc3Rpb24sIFN0cmluZyhyaWdodEFuc3dlcikpO1xufTtcbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcGxheUdhbWUoZ2VuZXJhdGVHYW1lRGF0YSwgZ2FtZURlc2NyaXB0aW9uKTtcbn07XG4iXX0=