brain-games10
Version:
Hexlet Project #1
60 lines (41 loc) • 3.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _utils = _interopRequireDefault(require("../utils"));
var _ = _interopRequireDefault(require(".."));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const signs = ['+', '-', '*'];
const generateRandomSign = () => signs[(0, _utils.default)(signs.length)];
const chooseSign = sign => {
let fn;
switch (sign) {
case '+':
fn = (a, b) => a + b;
break;
case '-':
fn = (a, b) => a - b;
break;
case '*':
fn = (a, b) => a * b;
break;
default:
}
return fn;
};
const rule = 'What is the result of the expression?';
const generateQuestion = () => {
const a = (0, _utils.default)(100);
const sign = generateRandomSign();
const b = (0, _utils.default)(100);
const question = `${a} ${sign} ${b}`;
const correctAnswer = String(chooseSign(sign)(a, b));
return {
question,
correctAnswer
};
};
var _default = () => (0, _.default)(rule, generateQuestion);
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nYW1lLWNhbGMuanMiXSwibmFtZXMiOlsic2lnbnMiLCJnZW5lcmF0ZVJhbmRvbVNpZ24iLCJsZW5ndGgiLCJjaG9vc2VTaWduIiwic2lnbiIsImZuIiwiYSIsImIiLCJydWxlIiwiZ2VuZXJhdGVRdWVzdGlvbiIsInF1ZXN0aW9uIiwiY29ycmVjdEFuc3dlciIsIlN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHLENBQUMsR0FBRCxFQUFNLEdBQU4sRUFBVyxHQUFYLENBQWQ7O0FBRUEsTUFBTUMsa0JBQWtCLEdBQUcsTUFBTUQsS0FBSyxDQUFDLG9CQUFxQkEsS0FBSyxDQUFDRSxNQUEzQixDQUFELENBQXRDOztBQUVBLE1BQU1DLFVBQVUsR0FBSUMsSUFBRCxJQUFVO0FBQzNCLE1BQUlDLEVBQUo7O0FBQ0EsVUFBUUQsSUFBUjtBQUNFLFNBQUssR0FBTDtBQUNFQyxNQUFBQSxFQUFFLEdBQUcsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEtBQVVELENBQUMsR0FBR0MsQ0FBbkI7O0FBQ0E7O0FBQ0YsU0FBSyxHQUFMO0FBQ0VGLE1BQUFBLEVBQUUsR0FBRyxDQUFDQyxDQUFELEVBQUlDLENBQUosS0FBVUQsQ0FBQyxHQUFHQyxDQUFuQjs7QUFDQTs7QUFDRixTQUFLLEdBQUw7QUFDRUYsTUFBQUEsRUFBRSxHQUFHLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVRCxDQUFDLEdBQUdDLENBQW5COztBQUNBOztBQUNGO0FBVkY7O0FBWUEsU0FBT0YsRUFBUDtBQUNELENBZkQ7O0FBaUJBLE1BQU1HLElBQUksR0FBRyx1Q0FBYjs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxNQUFNO0FBQzdCLFFBQU1ILENBQUMsR0FBRyxvQkFBcUIsR0FBckIsQ0FBVjtBQUNBLFFBQU1GLElBQUksR0FBR0gsa0JBQWtCLEVBQS9CO0FBQ0EsUUFBTU0sQ0FBQyxHQUFHLG9CQUFxQixHQUFyQixDQUFWO0FBQ0EsUUFBTUcsUUFBUSxHQUFJLEdBQUVKLENBQUUsSUFBR0YsSUFBSyxJQUFHRyxDQUFFLEVBQW5DO0FBQ0EsUUFBTUksYUFBYSxHQUFHQyxNQUFNLENBQUNULFVBQVUsQ0FBQ0MsSUFBRCxDQUFWLENBQWlCRSxDQUFqQixFQUFvQkMsQ0FBcEIsQ0FBRCxDQUE1QjtBQUNBLFNBQU87QUFBRUcsSUFBQUEsUUFBRjtBQUFZQyxJQUFBQTtBQUFaLEdBQVA7QUFDRCxDQVBEOztlQVNlLE1BQU0sZUFBU0gsSUFBVCxFQUFlQyxnQkFBZixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdlbmVyYXRlUmFuZG9tTnVtYmVyIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBnYW1lTG9vcCBmcm9tICcuLic7XG5cbmNvbnN0IHNpZ25zID0gWycrJywgJy0nLCAnKiddO1xuXG5jb25zdCBnZW5lcmF0ZVJhbmRvbVNpZ24gPSAoKSA9PiBzaWduc1tnZW5lcmF0ZVJhbmRvbU51bWJlcihzaWducy5sZW5ndGgpXTtcblxuY29uc3QgY2hvb3NlU2lnbiA9IChzaWduKSA9PiB7XG4gIGxldCBmbjtcbiAgc3dpdGNoIChzaWduKSB7XG4gICAgY2FzZSAnKyc6XG4gICAgICBmbiA9IChhLCBiKSA9PiBhICsgYjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJy0nOlxuICAgICAgZm4gPSAoYSwgYikgPT4gYSAtIGI7XG4gICAgICBicmVhaztcbiAgICBjYXNlICcqJzpcbiAgICAgIGZuID0gKGEsIGIpID0+IGEgKiBiO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgfVxuICByZXR1cm4gZm47XG59O1xuXG5jb25zdCBydWxlID0gJ1doYXQgaXMgdGhlIHJlc3VsdCBvZiB0aGUgZXhwcmVzc2lvbj8nO1xuXG5jb25zdCBnZW5lcmF0ZVF1ZXN0aW9uID0gKCkgPT4ge1xuICBjb25zdCBhID0gZ2VuZXJhdGVSYW5kb21OdW1iZXIoMTAwKTtcbiAgY29uc3Qgc2lnbiA9IGdlbmVyYXRlUmFuZG9tU2lnbigpO1xuICBjb25zdCBiID0gZ2VuZXJhdGVSYW5kb21OdW1iZXIoMTAwKTtcbiAgY29uc3QgcXVlc3Rpb24gPSBgJHthfSAke3NpZ259ICR7Yn1gO1xuICBjb25zdCBjb3JyZWN0QW5zd2VyID0gU3RyaW5nKGNob29zZVNpZ24oc2lnbikoYSwgYikpO1xuICByZXR1cm4geyBxdWVzdGlvbiwgY29ycmVjdEFuc3dlciB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gZ2FtZUxvb3AocnVsZSwgZ2VuZXJhdGVRdWVzdGlvbik7XG4iXX0=