UNPKG

@nox_wave/hexlet-braingames

Version:
56 lines (46 loc) 5.56 kB
'use strict'; 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=