brain-games-v
Version:
My first project in Hexlet
59 lines (44 loc) • 4.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _core = _interopRequireDefault(require("../core"));
var _utils = _interopRequireDefault(require("../utils"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const description = 'What is the result of the expression?';
const minRandomInt = 0;
const maxRandomInt = 11;
const mathOperators = [{
sign: '+',
method(a, b) {
return a + b;
}
}, {
sign: '-',
method(a, b) {
return a - b;
}
}, {
sign: '*',
method(a, b) {
return a * b;
}
}];
const getRandomMathOperation = () => {
const minIndexMathOperator = 0;
const maxIndexMathOperator = mathOperators.length;
return mathOperators[(0, _utils.default)(minIndexMathOperator, maxIndexMathOperator)];
};
const getGameData = () => {
const mathOperationData = getRandomMathOperation();
const a = (0, _utils.default)(minRandomInt, maxRandomInt);
const b = (0, _utils.default)(minRandomInt, maxRandomInt);
return {
question: `${a} ${mathOperationData.sign} ${b}`,
answer: String(mathOperationData.method(a, b))
};
};
var _default = () => (0, _core.default)(description, getGameData);
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLmpzIl0sIm5hbWVzIjpbImRlc2NyaXB0aW9uIiwibWluUmFuZG9tSW50IiwibWF4UmFuZG9tSW50IiwibWF0aE9wZXJhdG9ycyIsInNpZ24iLCJtZXRob2QiLCJhIiwiYiIsImdldFJhbmRvbU1hdGhPcGVyYXRpb24iLCJtaW5JbmRleE1hdGhPcGVyYXRvciIsIm1heEluZGV4TWF0aE9wZXJhdG9yIiwibGVuZ3RoIiwiZ2V0R2FtZURhdGEiLCJtYXRoT3BlcmF0aW9uRGF0YSIsInF1ZXN0aW9uIiwiYW5zd2VyIiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUcsdUNBQXBCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLENBQXJCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLEVBQXJCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLENBQ3BCO0FBQ0VDLEVBQUFBLElBQUksRUFBRSxHQURSOztBQUVFQyxFQUFBQSxNQUFNLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFPO0FBQUUsV0FBT0QsQ0FBQyxHQUFHQyxDQUFYO0FBQWU7O0FBRmhDLENBRG9CLEVBS3BCO0FBQ0VILEVBQUFBLElBQUksRUFBRSxHQURSOztBQUVFQyxFQUFBQSxNQUFNLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFPO0FBQUUsV0FBT0QsQ0FBQyxHQUFHQyxDQUFYO0FBQWU7O0FBRmhDLENBTG9CLEVBU3BCO0FBQ0VILEVBQUFBLElBQUksRUFBRSxHQURSOztBQUVFQyxFQUFBQSxNQUFNLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFPO0FBQUUsV0FBT0QsQ0FBQyxHQUFHQyxDQUFYO0FBQWU7O0FBRmhDLENBVG9CLENBQXRCOztBQWVBLE1BQU1DLHNCQUFzQixHQUFHLE1BQU07QUFDbkMsUUFBTUMsb0JBQW9CLEdBQUcsQ0FBN0I7QUFDQSxRQUFNQyxvQkFBb0IsR0FBR1AsYUFBYSxDQUFDUSxNQUEzQztBQUNBLFNBQU9SLGFBQWEsQ0FDbEIsb0JBQWFNLG9CQUFiLEVBQW1DQyxvQkFBbkMsQ0FEa0IsQ0FBcEI7QUFHRCxDQU5EOztBQVFBLE1BQU1FLFdBQVcsR0FBRyxNQUFNO0FBQ3hCLFFBQU1DLGlCQUFpQixHQUFHTCxzQkFBc0IsRUFBaEQ7QUFDQSxRQUFNRixDQUFDLEdBQUcsb0JBQWFMLFlBQWIsRUFBMkJDLFlBQTNCLENBQVY7QUFDQSxRQUFNSyxDQUFDLEdBQUcsb0JBQWFOLFlBQWIsRUFBMkJDLFlBQTNCLENBQVY7QUFDQSxTQUFPO0FBQ0xZLElBQUFBLFFBQVEsRUFBRyxHQUFFUixDQUFFLElBQUdPLGlCQUFpQixDQUFDVCxJQUFLLElBQUdHLENBQUUsRUFEekM7QUFFTFEsSUFBQUEsTUFBTSxFQUFFQyxNQUFNLENBQUNILGlCQUFpQixDQUFDUixNQUFsQixDQUF5QkMsQ0FBekIsRUFBNEJDLENBQTVCLENBQUQ7QUFGVCxHQUFQO0FBSUQsQ0FSRDs7ZUFVZSxNQUFNLG1CQUFLUCxXQUFMLEVBQWtCWSxXQUFsQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvcmUgZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgZ2V0UmFuZG9tSW50IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgZGVzY3JpcHRpb24gPSAnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uPyc7XG5jb25zdCBtaW5SYW5kb21JbnQgPSAwO1xuY29uc3QgbWF4UmFuZG9tSW50ID0gMTE7XG5jb25zdCBtYXRoT3BlcmF0b3JzID0gW1xuICB7XG4gICAgc2lnbjogJysnLFxuICAgIG1ldGhvZChhLCBiKSB7IHJldHVybiBhICsgYjsgfSxcbiAgfSxcbiAge1xuICAgIHNpZ246ICctJyxcbiAgICBtZXRob2QoYSwgYikgeyByZXR1cm4gYSAtIGI7IH0sXG4gIH0sXG4gIHtcbiAgICBzaWduOiAnKicsXG4gICAgbWV0aG9kKGEsIGIpIHsgcmV0dXJuIGEgKiBiOyB9LFxuICB9LFxuXTtcblxuY29uc3QgZ2V0UmFuZG9tTWF0aE9wZXJhdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgbWluSW5kZXhNYXRoT3BlcmF0b3IgPSAwO1xuICBjb25zdCBtYXhJbmRleE1hdGhPcGVyYXRvciA9IG1hdGhPcGVyYXRvcnMubGVuZ3RoO1xuICByZXR1cm4gbWF0aE9wZXJhdG9yc1tcbiAgICBnZXRSYW5kb21JbnQobWluSW5kZXhNYXRoT3BlcmF0b3IsIG1heEluZGV4TWF0aE9wZXJhdG9yKVxuICBdO1xufTtcblxuY29uc3QgZ2V0R2FtZURhdGEgPSAoKSA9PiB7XG4gIGNvbnN0IG1hdGhPcGVyYXRpb25EYXRhID0gZ2V0UmFuZG9tTWF0aE9wZXJhdGlvbigpO1xuICBjb25zdCBhID0gZ2V0UmFuZG9tSW50KG1pblJhbmRvbUludCwgbWF4UmFuZG9tSW50KTtcbiAgY29uc3QgYiA9IGdldFJhbmRvbUludChtaW5SYW5kb21JbnQsIG1heFJhbmRvbUludCk7XG4gIHJldHVybiB7XG4gICAgcXVlc3Rpb246IGAke2F9ICR7bWF0aE9wZXJhdGlvbkRhdGEuc2lnbn0gJHtifWAsXG4gICAgYW5zd2VyOiBTdHJpbmcobWF0aE9wZXJhdGlvbkRhdGEubWV0aG9kKGEsIGIpKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IGNvcmUoZGVzY3JpcHRpb24sIGdldEdhbWVEYXRhKTtcbiJdfQ==