UNPKG

brain_games_ermo4enkov

Version:
50 lines (38 loc) 4.53 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _hexletPairs = require('hexlet-pairs'); var _ = require('..'); var _2 = _interopRequireDefault(_); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var signsArray = ['+', '-', '*']; var expectedAnswer = function expectedAnswer(num1, num2, sign) { switch (String(sign)) { case '+': return Number(num1) + Number(num2); case '-': return Number(num1) - Number(num2); case '*': return Number(num1) * Number(num2); default: return false; } }; var gameTitle = 'What is the result of the expression?'; var gamePlayCalc = function gamePlayCalc() { var pairOfNumbers = (0, _hexletPairs.cons)((0, _utils.getRandomNumber)(), (0, _utils.getRandomNumber)()); var expression = (0, _hexletPairs.cons)(pairOfNumbers, (0, _utils.getRandomItem)(signsArray)); var num1 = (0, _hexletPairs.car)((0, _hexletPairs.car)(expression)); var num2 = (0, _hexletPairs.cdr)((0, _hexletPairs.car)(expression)); var sign = (0, _hexletPairs.cdr)(expression); var gameGoal = expectedAnswer(num1, num2, sign); var gameQuestion = num1 + ' ' + sign + ' ' + num2; return (0, _hexletPairs.cons)(gameQuestion, gameGoal); }; var calcGame = function calcGame() { return (0, _2.default)(gameTitle, gamePlayCalc); }; exports.default = calcGame; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLmpzIl0sIm5hbWVzIjpbInNpZ25zQXJyYXkiLCJleHBlY3RlZEFuc3dlciIsIm51bTEiLCJudW0yIiwic2lnbiIsIlN0cmluZyIsIk51bWJlciIsImdhbWVUaXRsZSIsImdhbWVQbGF5Q2FsYyIsInBhaXJPZk51bWJlcnMiLCJleHByZXNzaW9uIiwiZ2FtZUdvYWwiLCJnYW1lUXVlc3Rpb24iLCJjYWxjR2FtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBLElBQU1BLGFBQWEsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXLEdBQVgsQ0FBbkI7O0FBRUEsSUFBTUMsaUJBQWlCLFNBQWpCQSxjQUFpQixDQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsSUFBYixFQUFzQjtBQUMzQyxVQUFRQyxPQUFPRCxJQUFQLENBQVI7QUFDRSxTQUFLLEdBQUw7QUFDRSxhQUFPRSxPQUFPSixJQUFQLElBQWVJLE9BQU9ILElBQVAsQ0FBdEI7QUFDRixTQUFLLEdBQUw7QUFDRSxhQUFPRyxPQUFPSixJQUFQLElBQWVJLE9BQU9ILElBQVAsQ0FBdEI7QUFDRixTQUFLLEdBQUw7QUFDRSxhQUFPRyxPQUFPSixJQUFQLElBQWVJLE9BQU9ILElBQVAsQ0FBdEI7QUFDRjtBQUNFLGFBQU8sS0FBUDtBQVJKO0FBVUQsQ0FYRDs7QUFhQSxJQUFNSSxZQUFZLHVDQUFsQjs7QUFFQSxJQUFNQyxlQUFlLFNBQWZBLFlBQWUsR0FBTTtBQUN6QixNQUFNQyxnQkFBZ0IsdUJBQUssNkJBQUwsRUFBd0IsNkJBQXhCLENBQXRCO0FBQ0EsTUFBTUMsYUFBYSx1QkFBS0QsYUFBTCxFQUFvQiwwQkFBY1QsVUFBZCxDQUFwQixDQUFuQjtBQUNBLE1BQU1FLE9BQU8sc0JBQUksc0JBQUlRLFVBQUosQ0FBSixDQUFiO0FBQ0EsTUFBTVAsT0FBTyxzQkFBSSxzQkFBSU8sVUFBSixDQUFKLENBQWI7QUFDQSxNQUFNTixPQUFPLHNCQUFJTSxVQUFKLENBQWI7QUFDQSxNQUFNQyxXQUFXVixlQUFlQyxJQUFmLEVBQXFCQyxJQUFyQixFQUEyQkMsSUFBM0IsQ0FBakI7QUFDQSxNQUFNUSxlQUFrQlYsSUFBbEIsU0FBMEJFLElBQTFCLFNBQWtDRCxJQUF4QztBQUNBLFNBQU8sdUJBQUtTLFlBQUwsRUFBbUJELFFBQW5CLENBQVA7QUFDRCxDQVREOztBQVlBLElBQU1FLFdBQVcsU0FBWEEsUUFBVztBQUFBLFNBQU0sZ0JBQWNOLFNBQWQsRUFBeUJDLFlBQXpCLENBQU47QUFBQSxDQUFqQjs7a0JBRWVLLFEiLCJmaWxlIjoiY2FsYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMsIGNhciwgY2RyIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcbmltcG9ydCBnYW1lSW50ZXJmYWNlIGZyb20gJy4uJztcbmltcG9ydCB7IGdldFJhbmRvbUl0ZW0sIGdldFJhbmRvbU51bWJlciB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3Qgc2lnbnNBcnJheSA9IFsnKycsICctJywgJyonXTtcblxuY29uc3QgZXhwZWN0ZWRBbnN3ZXIgPSAobnVtMSwgbnVtMiwgc2lnbikgPT4ge1xuICBzd2l0Y2ggKFN0cmluZyhzaWduKSkge1xuICAgIGNhc2UgJysnOlxuICAgICAgcmV0dXJuIE51bWJlcihudW0xKSArIE51bWJlcihudW0yKTtcbiAgICBjYXNlICctJzpcbiAgICAgIHJldHVybiBOdW1iZXIobnVtMSkgLSBOdW1iZXIobnVtMik7XG4gICAgY2FzZSAnKic6XG4gICAgICByZXR1cm4gTnVtYmVyKG51bTEpICogTnVtYmVyKG51bTIpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmNvbnN0IGdhbWVUaXRsZSA9ICdXaGF0IGlzIHRoZSByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24/JztcblxuY29uc3QgZ2FtZVBsYXlDYWxjID0gKCkgPT4ge1xuICBjb25zdCBwYWlyT2ZOdW1iZXJzID0gY29ucyhnZXRSYW5kb21OdW1iZXIoKSwgZ2V0UmFuZG9tTnVtYmVyKCkpO1xuICBjb25zdCBleHByZXNzaW9uID0gY29ucyhwYWlyT2ZOdW1iZXJzLCBnZXRSYW5kb21JdGVtKHNpZ25zQXJyYXkpKTtcbiAgY29uc3QgbnVtMSA9IGNhcihjYXIoZXhwcmVzc2lvbikpO1xuICBjb25zdCBudW0yID0gY2RyKGNhcihleHByZXNzaW9uKSk7XG4gIGNvbnN0IHNpZ24gPSBjZHIoZXhwcmVzc2lvbik7XG4gIGNvbnN0IGdhbWVHb2FsID0gZXhwZWN0ZWRBbnN3ZXIobnVtMSwgbnVtMiwgc2lnbik7XG4gIGNvbnN0IGdhbWVRdWVzdGlvbiA9IGAke251bTF9ICR7c2lnbn0gJHtudW0yfWA7XG4gIHJldHVybiBjb25zKGdhbWVRdWVzdGlvbiwgZ2FtZUdvYWwpO1xufTtcblxuXG5jb25zdCBjYWxjR2FtZSA9ICgpID0+IGdhbWVJbnRlcmZhY2UoZ2FtZVRpdGxlLCBnYW1lUGxheUNhbGMpO1xuXG5leHBvcnQgZGVmYXVsdCBjYWxjR2FtZTtcbiJdfQ==