@nox_wave/hexlet-braingames
Version:
Brain Games. A set of mini-games.
50 lines (40 loc) • 4.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hexletPairs = require('hexlet-pairs');
var _2 = require('..');
var _3 = _interopRequireDefault(_2);
var _utils = require('../utils');
var _utils2 = _interopRequireDefault(_utils);
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;
}
};
var maxRandomInteger = 100;
var minRandomInteger = 1;
exports.default = function () {
var getGameData = function getGameData() {
var operations = Object.keys(operationsMap);
var initialIndex = 0;
var firstOperand = (0, _utils2.default)(minRandomInteger, maxRandomInteger);
var secondOperand = (0, _utils2.default)(minRandomInteger, maxRandomInteger);
var operation = operations[(0, _utils2.default)(initialIndex, operations.length)];
var question = firstOperand + ' ' + operation + ' ' + secondOperand;
var answer = '' + operationsMap[operation](firstOperand, secondOperand);
return (0, _hexletPairs.cons)(question, answer);
};
(0, _3.default)({
instruction: 'What is the result of the expression?',
getGameData: getGameData
});
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLmpzIl0sIm5hbWVzIjpbIm9wZXJhdGlvbnNNYXAiLCJhIiwiYiIsIm1heFJhbmRvbUludGVnZXIiLCJtaW5SYW5kb21JbnRlZ2VyIiwiZ2V0R2FtZURhdGEiLCJvcGVyYXRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImluaXRpYWxJbmRleCIsImZpcnN0T3BlcmFuZCIsInNlY29uZE9wZXJhbmQiLCJvcGVyYXRpb24iLCJsZW5ndGgiLCJxdWVzdGlvbiIsImFuc3dlciIsImluc3RydWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxnQkFBZ0I7QUFDcEIsT0FBSyxXQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxXQUFVRCxJQUFJQyxDQUFkO0FBQUEsR0FEZTtBQUVwQixPQUFLLFdBQUNELENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVVELElBQUlDLENBQWQ7QUFBQSxHQUZlO0FBR3BCLE9BQUssV0FBQ0QsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsV0FBVUQsSUFBSUMsQ0FBZDtBQUFBO0FBSGUsQ0FBdEI7QUFLQSxJQUFNQyxtQkFBbUIsR0FBekI7QUFDQSxJQUFNQyxtQkFBbUIsQ0FBekI7O2tCQUVlLFlBQU07QUFDbkIsTUFBTUMsY0FBYyxTQUFkQSxXQUFjLEdBQU07QUFDeEIsUUFBTUMsYUFBYUMsT0FBT0MsSUFBUCxDQUFZUixhQUFaLENBQW5CO0FBQ0EsUUFBTVMsZUFBZSxDQUFyQjtBQUNBLFFBQU1DLGVBQWUscUJBQWlCTixnQkFBakIsRUFBbUNELGdCQUFuQyxDQUFyQjtBQUNBLFFBQU1RLGdCQUFnQixxQkFBaUJQLGdCQUFqQixFQUFtQ0QsZ0JBQW5DLENBQXRCO0FBQ0EsUUFBTVMsWUFBWU4sV0FBVyxxQkFBaUJHLFlBQWpCLEVBQStCSCxXQUFXTyxNQUExQyxDQUFYLENBQWxCO0FBQ0EsUUFBTUMsV0FBY0osWUFBZCxTQUE4QkUsU0FBOUIsU0FBMkNELGFBQWpEO0FBQ0EsUUFBTUksY0FBWWYsY0FBY1ksU0FBZCxFQUF5QkYsWUFBekIsRUFBdUNDLGFBQXZDLENBQWxCOztBQUVBLFdBQU8sdUJBQUtHLFFBQUwsRUFBZUMsTUFBZixDQUFQO0FBQ0QsR0FWRDtBQVdBLGtCQUFRO0FBQ05DLGlCQUFhLHVDQURQO0FBRU5YO0FBRk0sR0FBUjtBQUlELEMiLCJmaWxlIjoiY2FsYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMgfSBmcm9tICdoZXhsZXQtcGFpcnMnO1xuaW1wb3J0IHJ1bkdhbWUgZnJvbSAnLi4nO1xuaW1wb3J0IGdldFJhbmRvbUludGVnZXIgZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBvcGVyYXRpb25zTWFwID0ge1xuICAnKyc6IChhLCBiKSA9PiBhICsgYixcbiAgJy0nOiAoYSwgYikgPT4gYSAtIGIsXG4gICcqJzogKGEsIGIpID0+IGEgKiBiLFxufTtcbmNvbnN0IG1heFJhbmRvbUludGVnZXIgPSAxMDA7XG5jb25zdCBtaW5SYW5kb21JbnRlZ2VyID0gMTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuICBjb25zdCBnZXRHYW1lRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCBvcGVyYXRpb25zID0gT2JqZWN0LmtleXMob3BlcmF0aW9uc01hcCk7XG4gICAgY29uc3QgaW5pdGlhbEluZGV4ID0gMDtcbiAgICBjb25zdCBmaXJzdE9wZXJhbmQgPSBnZXRSYW5kb21JbnRlZ2VyKG1pblJhbmRvbUludGVnZXIsIG1heFJhbmRvbUludGVnZXIpO1xuICAgIGNvbnN0IHNlY29uZE9wZXJhbmQgPSBnZXRSYW5kb21JbnRlZ2VyKG1pblJhbmRvbUludGVnZXIsIG1heFJhbmRvbUludGVnZXIpO1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IG9wZXJhdGlvbnNbZ2V0UmFuZG9tSW50ZWdlcihpbml0aWFsSW5kZXgsIG9wZXJhdGlvbnMubGVuZ3RoKV07XG4gICAgY29uc3QgcXVlc3Rpb24gPSBgJHtmaXJzdE9wZXJhbmR9ICR7b3BlcmF0aW9ufSAke3NlY29uZE9wZXJhbmR9YDtcbiAgICBjb25zdCBhbnN3ZXIgPSBgJHtvcGVyYXRpb25zTWFwW29wZXJhdGlvbl0oZmlyc3RPcGVyYW5kLCBzZWNvbmRPcGVyYW5kKX1gO1xuXG4gICAgcmV0dXJuIGNvbnMocXVlc3Rpb24sIGFuc3dlcik7XG4gIH07XG4gIHJ1bkdhbWUoe1xuICAgIGluc3RydWN0aW9uOiAnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uPycsXG4gICAgZ2V0R2FtZURhdGEsXG4gIH0pO1xufTtcbiJdfQ==