UNPKG

brain-games-echo

Version:

My firts project for hexlet.io. I hope it's not the last. This is a just casual project (for someone).

46 lines (35 loc) 4.21 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _ = require('..'); var _2 = _interopRequireDefault(_); var _tools = require('../tools'); var _tools2 = _interopRequireDefault(_tools); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mainRule = 'Find the greatest common divisor of given numbers.'; var min = 1; var max = 100; var commonDivisor = function commonDivisor(num1, num2) { var minNum = Math.min(num1, num2); var maxNum = Math.max(num1, num2); var findCommonDivisor = function findCommonDivisor(numMin, numMax, firstMin) { if (numMax % numMin === 0 && firstMin % numMin === 0) { return numMin; } return findCommonDivisor(numMin - 1, numMax, firstMin); }; return findCommonDivisor(minNum, maxNum, minNum); }; var genGameData = function genGameData() { var num1 = (0, _tools2.default)(min, max); var num2 = (0, _tools2.default)(min, max); var correctAnswer = String(commonDivisor(num1, num2)); var question = num1 + ' ' + num2; return [question, correctAnswer]; }; var startGameOfGCD = function startGameOfGCD() { return (0, _2.default)(genGameData, mainRule); }; exports.default = startGameOfGCD; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nY2QuanMiXSwibmFtZXMiOlsibWFpblJ1bGUiLCJtaW4iLCJtYXgiLCJjb21tb25EaXZpc29yIiwibnVtMSIsIm51bTIiLCJtaW5OdW0iLCJNYXRoIiwibWF4TnVtIiwiZmluZENvbW1vbkRpdmlzb3IiLCJudW1NaW4iLCJudW1NYXgiLCJmaXJzdE1pbiIsImdlbkdhbWVEYXRhIiwiY29ycmVjdEFuc3dlciIsIlN0cmluZyIsInF1ZXN0aW9uIiwic3RhcnRHYW1lT2ZHQ0QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFdBQVcsb0RBQWpCO0FBQ0EsSUFBTUMsTUFBTSxDQUFaO0FBQ0EsSUFBTUMsTUFBTSxHQUFaOztBQUVBLElBQU1DLGdCQUFnQixTQUFoQkEsYUFBZ0IsQ0FBQ0MsSUFBRCxFQUFPQyxJQUFQLEVBQWdCO0FBQ3BDLE1BQU1DLFNBQVNDLEtBQUtOLEdBQUwsQ0FBU0csSUFBVCxFQUFlQyxJQUFmLENBQWY7QUFDQSxNQUFNRyxTQUFTRCxLQUFLTCxHQUFMLENBQVNFLElBQVQsRUFBZUMsSUFBZixDQUFmO0FBQ0EsTUFBTUksb0JBQW9CLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsTUFBRCxFQUFTQyxNQUFULEVBQWlCQyxRQUFqQixFQUE4QjtBQUN0RCxRQUFJRCxTQUFTRCxNQUFULEtBQW9CLENBQXBCLElBQXlCRSxXQUFXRixNQUFYLEtBQXNCLENBQW5ELEVBQXNEO0FBQ3BELGFBQU9BLE1BQVA7QUFDRDtBQUNELFdBQU9ELGtCQUFrQkMsU0FBUyxDQUEzQixFQUE4QkMsTUFBOUIsRUFBc0NDLFFBQXRDLENBQVA7QUFDRCxHQUxEO0FBTUEsU0FBT0gsa0JBQWtCSCxNQUFsQixFQUEwQkUsTUFBMUIsRUFBa0NGLE1BQWxDLENBQVA7QUFDRCxDQVZEOztBQVlBLElBQU1PLGNBQWMsU0FBZEEsV0FBYyxHQUFNO0FBQ3hCLE1BQU1ULE9BQU8scUJBQWdCSCxHQUFoQixFQUFxQkMsR0FBckIsQ0FBYjtBQUNBLE1BQU1HLE9BQU8scUJBQWdCSixHQUFoQixFQUFxQkMsR0FBckIsQ0FBYjtBQUNBLE1BQU1ZLGdCQUFnQkMsT0FBT1osY0FBY0MsSUFBZCxFQUFvQkMsSUFBcEIsQ0FBUCxDQUF0QjtBQUNBLE1BQU1XLFdBQWNaLElBQWQsU0FBc0JDLElBQTVCO0FBQ0EsU0FBTyxDQUFDVyxRQUFELEVBQVdGLGFBQVgsQ0FBUDtBQUNELENBTkQ7O0FBUUEsSUFBTUcsaUJBQWlCLFNBQWpCQSxjQUFpQjtBQUFBLFNBQU0sZ0JBQWFKLFdBQWIsRUFBMEJiLFFBQTFCLENBQU47QUFBQSxDQUF2Qjs7a0JBRWVpQixjIiwiZmlsZSI6ImdjZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdGFydE5ld0dhbWUgZnJvbSAnLi4nO1xuaW1wb3J0IGdldFJhbmRvbU51bWJlciBmcm9tICcuLi90b29scyc7XG5cbmNvbnN0IG1haW5SdWxlID0gJ0ZpbmQgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIGdpdmVuIG51bWJlcnMuJztcbmNvbnN0IG1pbiA9IDE7XG5jb25zdCBtYXggPSAxMDA7XG5cbmNvbnN0IGNvbW1vbkRpdmlzb3IgPSAobnVtMSwgbnVtMikgPT4ge1xuICBjb25zdCBtaW5OdW0gPSBNYXRoLm1pbihudW0xLCBudW0yKTtcbiAgY29uc3QgbWF4TnVtID0gTWF0aC5tYXgobnVtMSwgbnVtMik7XG4gIGNvbnN0IGZpbmRDb21tb25EaXZpc29yID0gKG51bU1pbiwgbnVtTWF4LCBmaXJzdE1pbikgPT4ge1xuICAgIGlmIChudW1NYXggJSBudW1NaW4gPT09IDAgJiYgZmlyc3RNaW4gJSBudW1NaW4gPT09IDApIHtcbiAgICAgIHJldHVybiBudW1NaW47XG4gICAgfVxuICAgIHJldHVybiBmaW5kQ29tbW9uRGl2aXNvcihudW1NaW4gLSAxLCBudW1NYXgsIGZpcnN0TWluKTtcbiAgfTtcbiAgcmV0dXJuIGZpbmRDb21tb25EaXZpc29yKG1pbk51bSwgbWF4TnVtLCBtaW5OdW0pO1xufTtcblxuY29uc3QgZ2VuR2FtZURhdGEgPSAoKSA9PiB7XG4gIGNvbnN0IG51bTEgPSBnZXRSYW5kb21OdW1iZXIobWluLCBtYXgpO1xuICBjb25zdCBudW0yID0gZ2V0UmFuZG9tTnVtYmVyKG1pbiwgbWF4KTtcbiAgY29uc3QgY29ycmVjdEFuc3dlciA9IFN0cmluZyhjb21tb25EaXZpc29yKG51bTEsIG51bTIpKTtcbiAgY29uc3QgcXVlc3Rpb24gPSBgJHtudW0xfSAke251bTJ9YDtcbiAgcmV0dXJuIFtxdWVzdGlvbiwgY29ycmVjdEFuc3dlcl07XG59O1xuXG5jb25zdCBzdGFydEdhbWVPZkdDRCA9ICgpID0+IHN0YXJ0TmV3R2FtZShnZW5HYW1lRGF0YSwgbWFpblJ1bGUpO1xuXG5leHBvcnQgZGVmYXVsdCBzdGFydEdhbWVPZkdDRDtcbiJdfQ==