@nox_wave/hexlet-braingames
Version:
Brain Games. A set of mini-games.
56 lines (46 loc) • 5.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _2 = require('..');
var _getRandomInteger = require('../utils/get-random-integer');
var _getRandomInteger2 = _interopRequireDefault(_getRandomInteger);
var _constants = require('../constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var operationsMap = {
'+': function _(a, b) {
return a + b;
},
'-': function _(a, b) {
return a - b;
},
'*': function _(a, b) {
return a * b;
}
};
exports.default = function () {
var getQuestion = function getQuestion() {
var operations = Object.keys(operationsMap);
var initialIndex = 0;
var firstOperand = (0, _getRandomInteger2.default)(_constants.minRandomInteger, _constants.maxRandomInteger);
var secondOperand = (0, _getRandomInteger2.default)(_constants.minRandomInteger, _constants.maxRandomInteger);
return firstOperand + ' ' + operations[(0, _getRandomInteger2.default)(initialIndex, operations.length)] + ' ' + secondOperand;
};
var getAnswer = function getAnswer(question) {
var _question$split = question.split(' '),
_question$split2 = _slicedToArray(_question$split, 3),
a = _question$split2[0],
operation = _question$split2[1],
b = _question$split2[2];
var firstOperand = Number.parseInt(a, 10);
var secondOperand = Number.parseInt(b, 10);
return '' + operationsMap[operation](firstOperand, secondOperand);
};
(0, _2.runGame)({
instruction: 'What is the result of the expression?',
getQuestion: getQuestion,
getAnswer: getAnswer
});
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9icmFpbi1jYWxjLmpzIl0sIm5hbWVzIjpbIm9wZXJhdGlvbnNNYXAiLCJhIiwiYiIsImdldFF1ZXN0aW9uIiwib3BlcmF0aW9ucyIsIk9iamVjdCIsImtleXMiLCJpbml0aWFsSW5kZXgiLCJmaXJzdE9wZXJhbmQiLCJtaW5SYW5kb21JbnRlZ2VyIiwibWF4UmFuZG9tSW50ZWdlciIsInNlY29uZE9wZXJhbmQiLCJsZW5ndGgiLCJnZXRBbnN3ZXIiLCJxdWVzdGlvbiIsInNwbGl0Iiwib3BlcmF0aW9uIiwiTnVtYmVyIiwicGFyc2VJbnQiLCJpbnN0cnVjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7O0FBRUEsSUFBTUEsZ0JBQWdCO0FBQ3BCLE9BQUssV0FBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsV0FBVUQsSUFBSUMsQ0FBZDtBQUFBLEdBRGU7QUFFcEIsT0FBSyxXQUFDRCxDQUFELEVBQUlDLENBQUo7QUFBQSxXQUFVRCxJQUFJQyxDQUFkO0FBQUEsR0FGZTtBQUdwQixPQUFLLFdBQUNELENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVVELElBQUlDLENBQWQ7QUFBQTtBQUhlLENBQXRCOztrQkFNZSxZQUFNO0FBQ25CLE1BQU1DLGNBQWMsU0FBZEEsV0FBYyxHQUFNO0FBQ3hCLFFBQU1DLGFBQWFDLE9BQU9DLElBQVAsQ0FBWU4sYUFBWixDQUFuQjtBQUNBLFFBQU1PLGVBQWUsQ0FBckI7QUFDQSxRQUFNQyxlQUFlLGdDQUFpQkMsMkJBQWpCLEVBQW1DQywyQkFBbkMsQ0FBckI7QUFDQSxRQUFNQyxnQkFBZ0IsZ0NBQWlCRiwyQkFBakIsRUFBbUNDLDJCQUFuQyxDQUF0QjtBQUNBLFdBQVVGLFlBQVYsU0FBMEJKLFdBQVcsZ0NBQWlCRyxZQUFqQixFQUErQkgsV0FBV1EsTUFBMUMsQ0FBWCxDQUExQixTQUEyRkQsYUFBM0Y7QUFDRCxHQU5EO0FBT0EsTUFBTUUsWUFBWSxTQUFaQSxTQUFZLENBQUNDLFFBQUQsRUFBYztBQUFBLDBCQUNKQSxTQUFTQyxLQUFULENBQWUsR0FBZixDQURJO0FBQUE7QUFBQSxRQUN2QmQsQ0FEdUI7QUFBQSxRQUNwQmUsU0FEb0I7QUFBQSxRQUNUZCxDQURTOztBQUU5QixRQUFNTSxlQUFlUyxPQUFPQyxRQUFQLENBQWdCakIsQ0FBaEIsRUFBbUIsRUFBbkIsQ0FBckI7QUFDQSxRQUFNVSxnQkFBZ0JNLE9BQU9DLFFBQVAsQ0FBZ0JoQixDQUFoQixFQUFtQixFQUFuQixDQUF0QjtBQUNBLGdCQUFVRixjQUFjZ0IsU0FBZCxFQUF5QlIsWUFBekIsRUFBdUNHLGFBQXZDLENBQVY7QUFDRCxHQUxEO0FBTUEsa0JBQVE7QUFDTlEsaUJBQWEsdUNBRFA7QUFFTmhCLDRCQUZNO0FBR05VO0FBSE0sR0FBUjtBQUtELEMiLCJmaWxlIjoiYnJhaW4tY2FsYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJ1bkdhbWUgfSBmcm9tICcuLic7XG5pbXBvcnQgZ2V0UmFuZG9tSW50ZWdlciBmcm9tICcuLi91dGlscy9nZXQtcmFuZG9tLWludGVnZXInO1xuaW1wb3J0IHsgbWF4UmFuZG9tSW50ZWdlciwgbWluUmFuZG9tSW50ZWdlciB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IG9wZXJhdGlvbnNNYXAgPSB7XG4gICcrJzogKGEsIGIpID0+IGEgKyBiLFxuICAnLSc6IChhLCBiKSA9PiBhIC0gYixcbiAgJyonOiAoYSwgYikgPT4gYSAqIGIsXG59O1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNvbnN0IGdldFF1ZXN0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSBPYmplY3Qua2V5cyhvcGVyYXRpb25zTWFwKTtcbiAgICBjb25zdCBpbml0aWFsSW5kZXggPSAwO1xuICAgIGNvbnN0IGZpcnN0T3BlcmFuZCA9IGdldFJhbmRvbUludGVnZXIobWluUmFuZG9tSW50ZWdlciwgbWF4UmFuZG9tSW50ZWdlcik7XG4gICAgY29uc3Qgc2Vjb25kT3BlcmFuZCA9IGdldFJhbmRvbUludGVnZXIobWluUmFuZG9tSW50ZWdlciwgbWF4UmFuZG9tSW50ZWdlcik7XG4gICAgcmV0dXJuIGAke2ZpcnN0T3BlcmFuZH0gJHtvcGVyYXRpb25zW2dldFJhbmRvbUludGVnZXIoaW5pdGlhbEluZGV4LCBvcGVyYXRpb25zLmxlbmd0aCldfSAke3NlY29uZE9wZXJhbmR9YDtcbiAgfTtcbiAgY29uc3QgZ2V0QW5zd2VyID0gKHF1ZXN0aW9uKSA9PiB7XG4gICAgY29uc3QgW2EsIG9wZXJhdGlvbiwgYl0gPSBxdWVzdGlvbi5zcGxpdCgnICcpO1xuICAgIGNvbnN0IGZpcnN0T3BlcmFuZCA9IE51bWJlci5wYXJzZUludChhLCAxMCk7XG4gICAgY29uc3Qgc2Vjb25kT3BlcmFuZCA9IE51bWJlci5wYXJzZUludChiLCAxMCk7XG4gICAgcmV0dXJuIGAke29wZXJhdGlvbnNNYXBbb3BlcmF0aW9uXShmaXJzdE9wZXJhbmQsIHNlY29uZE9wZXJhbmQpfWA7XG4gIH07XG4gIHJ1bkdhbWUoe1xuICAgIGluc3RydWN0aW9uOiAnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uPycsXG4gICAgZ2V0UXVlc3Rpb24sXG4gICAgZ2V0QW5zd2VyLFxuICB9KTtcbn07XG4iXX0=