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).

56 lines (43 loc) 4.93 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 }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var mainRule = 'Balance the given number.'; var balancer = function balancer(numberForBalance) { var arrOfNum = String(numberForBalance).split('').map(function (element) { return Number(element); }); var _loop = function _loop() { var minElem = Math.min.apply(Math, _toConsumableArray(arrOfNum)); var maxElem = Math.max.apply(Math, _toConsumableArray(arrOfNum)); var indexOfMin = arrOfNum.findIndex(function (elem) { return elem === minElem; }); var indexOfMax = arrOfNum.findIndex(function (elem) { return elem === maxElem; }); arrOfNum[indexOfMin] = minElem + 1; arrOfNum[indexOfMax] = maxElem - 1; }; while (Math.max.apply(Math, _toConsumableArray(arrOfNum)) - Math.min.apply(Math, _toConsumableArray(arrOfNum)) > 1) { _loop(); } return arrOfNum.sort().join(''); }; var genGameData = function genGameData() { var randomNumber = (0, _tools2.default)(1, 10000); var question = randomNumber; var correctAnswer = balancer(randomNumber); return [question, correctAnswer]; }; var startGameOfBalance = function startGameOfBalance() { return (0, _2.default)(genGameData, mainRule); }; exports.default = startGameOfBalance; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9iYWxhbmNlLmpzIl0sIm5hbWVzIjpbIm1haW5SdWxlIiwiYmFsYW5jZXIiLCJudW1iZXJGb3JCYWxhbmNlIiwiYXJyT2ZOdW0iLCJTdHJpbmciLCJzcGxpdCIsIm1hcCIsIk51bWJlciIsImVsZW1lbnQiLCJtaW5FbGVtIiwiTWF0aCIsIm1pbiIsIm1heEVsZW0iLCJtYXgiLCJpbmRleE9mTWluIiwiZmluZEluZGV4IiwiZWxlbSIsImluZGV4T2ZNYXgiLCJzb3J0Iiwiam9pbiIsImdlbkdhbWVEYXRhIiwicmFuZG9tTnVtYmVyIiwicXVlc3Rpb24iLCJjb3JyZWN0QW5zd2VyIiwic3RhcnRHYW1lT2ZCYWxhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLFdBQVcsMkJBQWpCO0FBQ0EsSUFBTUMsV0FBVyxTQUFYQSxRQUFXLENBQUNDLGdCQUFELEVBQXNCO0FBQ3JDLE1BQU1DLFdBQVdDLE9BQU9GLGdCQUFQLEVBQXlCRyxLQUF6QixDQUErQixFQUEvQixFQUFtQ0MsR0FBbkMsQ0FBdUM7QUFBQSxXQUFXQyxPQUFPQyxPQUFQLENBQVg7QUFBQSxHQUF2QyxDQUFqQjs7QUFEcUM7QUFHbkMsUUFBTUMsVUFBVUMsS0FBS0MsR0FBTCxnQ0FBWVIsUUFBWixFQUFoQjtBQUNBLFFBQU1TLFVBQVVGLEtBQUtHLEdBQUwsZ0NBQVlWLFFBQVosRUFBaEI7QUFDQSxRQUFNVyxhQUFhWCxTQUFTWSxTQUFULENBQW1CO0FBQUEsYUFBUUMsU0FBU1AsT0FBakI7QUFBQSxLQUFuQixDQUFuQjtBQUNBLFFBQU1RLGFBQWFkLFNBQVNZLFNBQVQsQ0FBbUI7QUFBQSxhQUFRQyxTQUFTSixPQUFqQjtBQUFBLEtBQW5CLENBQW5CO0FBQ0FULGFBQVNXLFVBQVQsSUFBdUJMLFVBQVUsQ0FBakM7QUFDQU4sYUFBU2MsVUFBVCxJQUF1QkwsVUFBVSxDQUFqQztBQVJtQzs7QUFFckMsU0FBT0YsS0FBS0csR0FBTCxnQ0FBWVYsUUFBWixLQUF3Qk8sS0FBS0MsR0FBTCxnQ0FBWVIsUUFBWixFQUF4QixHQUFnRCxDQUF2RCxFQUEwRDtBQUFBO0FBT3pEO0FBQ0QsU0FBT0EsU0FBU2UsSUFBVCxHQUFnQkMsSUFBaEIsQ0FBcUIsRUFBckIsQ0FBUDtBQUNELENBWEQ7O0FBYUEsSUFBTUMsY0FBYyxTQUFkQSxXQUFjLEdBQU07QUFDeEIsTUFBTUMsZUFBZSxxQkFBZ0IsQ0FBaEIsRUFBbUIsS0FBbkIsQ0FBckI7QUFDQSxNQUFNQyxXQUFXRCxZQUFqQjtBQUNBLE1BQU1FLGdCQUFnQnRCLFNBQVNvQixZQUFULENBQXRCO0FBQ0EsU0FBTyxDQUFDQyxRQUFELEVBQVdDLGFBQVgsQ0FBUDtBQUNELENBTEQ7O0FBT0EsSUFBTUMscUJBQXFCLFNBQXJCQSxrQkFBcUI7QUFBQSxTQUFNLGdCQUFhSixXQUFiLEVBQTBCcEIsUUFBMUIsQ0FBTjtBQUFBLENBQTNCOztrQkFFZXdCLGtCIiwiZmlsZSI6ImJhbGFuY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnROZXdHYW1lIGZyb20gJy4uJztcbmltcG9ydCBnZXRSYW5kb21OdW1iZXIgZnJvbSAnLi4vdG9vbHMnO1xuXG5jb25zdCBtYWluUnVsZSA9ICdCYWxhbmNlIHRoZSBnaXZlbiBudW1iZXIuJztcbmNvbnN0IGJhbGFuY2VyID0gKG51bWJlckZvckJhbGFuY2UpID0+IHtcbiAgY29uc3QgYXJyT2ZOdW0gPSBTdHJpbmcobnVtYmVyRm9yQmFsYW5jZSkuc3BsaXQoJycpLm1hcChlbGVtZW50ID0+IE51bWJlcihlbGVtZW50KSk7XG4gIHdoaWxlIChNYXRoLm1heCguLi5hcnJPZk51bSkgLSBNYXRoLm1pbiguLi5hcnJPZk51bSkgPiAxKSB7XG4gICAgY29uc3QgbWluRWxlbSA9IE1hdGgubWluKC4uLmFyck9mTnVtKTtcbiAgICBjb25zdCBtYXhFbGVtID0gTWF0aC5tYXgoLi4uYXJyT2ZOdW0pO1xuICAgIGNvbnN0IGluZGV4T2ZNaW4gPSBhcnJPZk51bS5maW5kSW5kZXgoZWxlbSA9PiBlbGVtID09PSBtaW5FbGVtKTtcbiAgICBjb25zdCBpbmRleE9mTWF4ID0gYXJyT2ZOdW0uZmluZEluZGV4KGVsZW0gPT4gZWxlbSA9PT0gbWF4RWxlbSk7XG4gICAgYXJyT2ZOdW1baW5kZXhPZk1pbl0gPSBtaW5FbGVtICsgMTtcbiAgICBhcnJPZk51bVtpbmRleE9mTWF4XSA9IG1heEVsZW0gLSAxO1xuICB9XG4gIHJldHVybiBhcnJPZk51bS5zb3J0KCkuam9pbignJyk7XG59O1xuXG5jb25zdCBnZW5HYW1lRGF0YSA9ICgpID0+IHtcbiAgY29uc3QgcmFuZG9tTnVtYmVyID0gZ2V0UmFuZG9tTnVtYmVyKDEsIDEwMDAwKTtcbiAgY29uc3QgcXVlc3Rpb24gPSByYW5kb21OdW1iZXI7XG4gIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBiYWxhbmNlcihyYW5kb21OdW1iZXIpO1xuICByZXR1cm4gW3F1ZXN0aW9uLCBjb3JyZWN0QW5zd2VyXTtcbn07XG5cbmNvbnN0IHN0YXJ0R2FtZU9mQmFsYW5jZSA9ICgpID0+IHN0YXJ0TmV3R2FtZShnZW5HYW1lRGF0YSwgbWFpblJ1bGUpO1xuXG5leHBvcnQgZGVmYXVsdCBzdGFydEdhbWVPZkJhbGFuY2U7XG4iXX0=