UNPKG

brain_games_ermo4enkov

Version:
65 lines (52 loc) 7.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.startGame = exports.checkAnswer = exports.getRandomItem = exports.sayHello = exports.getRandomNumber = exports.getUserName = undefined; var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk); var _readlineSync = require('readline-sync'); var _readlineSync2 = _interopRequireDefault(_readlineSync); var _hexletPairs = require('hexlet-pairs'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var getUserName = exports.getUserName = function getUserName() { var name = _readlineSync2.default.question('May I have your ' + _chalk2.default.hex('#0086b3')('name') + '? '); console.log('Hello, ' + _chalk2.default.hex('#0086b3')(name) + '\n'); return name; }; var getRandomNumber = exports.getRandomNumber = function getRandomNumber() { var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; return Math.floor(Math.random() * (max - min + 1)) + min; }; var sayHello = exports.sayHello = function sayHello(rules) { return console.log('Welcome to the Brain Games!\n' + rules + '\n'); }; var getRandomItem = exports.getRandomItem = function getRandomItem(arr) { return arr[Math.floor(Math.random() * arr.length)]; }; var checkAnswer = exports.checkAnswer = function checkAnswer(goal, answer) { return goal === answer; }; var startGame = exports.startGame = function startGame(gameTitle, gamePlay) { var userName = getUserName(); var count = 0; while (count < 3) { var game = gamePlay(_hexletPairs.car, _hexletPairs.cdr); var gameGoal = String((0, _hexletPairs.cdr)(game)); var gameQuestion = (0, _hexletPairs.car)(game); console.log('Question: ' + gameQuestion); var answer = _readlineSync2.default.question(_chalk2.default.hex('#d14')('Your') + ' answer: ').toLowerCase(); if (checkAnswer(gameGoal, answer)) { count += 1; console.log('' + _chalk2.default.hex('#d14')('Correct!')); } else { console.log('\'' + _chalk2.default.hex('#990073')(answer) + '\' is wrong answer ;(. Correct answer was \'' + _chalk2.default.hex('#990073')(gameGoal) + '\''); console.log('Let\'s try again, ' + userName + '!'); return false; } } console.log('' + _chalk2.default.hex('#d14')('Congratulations,', userName, '!')); return true; }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRVc2VyTmFtZSIsIm5hbWUiLCJxdWVzdGlvbiIsImhleCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSYW5kb21OdW1iZXIiLCJtaW4iLCJtYXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJzYXlIZWxsbyIsInJ1bGVzIiwiZ2V0UmFuZG9tSXRlbSIsImFyciIsImxlbmd0aCIsImNoZWNrQW5zd2VyIiwiZ29hbCIsImFuc3dlciIsInN0YXJ0R2FtZSIsImdhbWVUaXRsZSIsImdhbWVQbGF5IiwidXNlck5hbWUiLCJjb3VudCIsImdhbWUiLCJnYW1lR29hbCIsIlN0cmluZyIsImdhbWVRdWVzdGlvbiIsInRvTG93ZXJDYXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBRU8sSUFBTUEsb0NBQWMsU0FBZEEsV0FBYyxHQUFNO0FBQy9CLE1BQU1DLE9BQU8sdUJBQWFDLFFBQWIsc0JBQXlDLGdCQUFNQyxHQUFOLENBQVUsU0FBVixFQUFxQixNQUFyQixDQUF6QyxRQUFiO0FBQ0FDLFVBQVFDLEdBQVIsYUFBc0IsZ0JBQU1GLEdBQU4sQ0FBVSxTQUFWLEVBQXFCRixJQUFyQixDQUF0QjtBQUNBLFNBQU9BLElBQVA7QUFDRCxDQUpNOztBQU1BLElBQU1LLDRDQUFrQixTQUFsQkEsZUFBa0I7QUFBQSxNQUFDQyxHQUFELHVFQUFPLENBQVA7QUFBQSxNQUFVQyxHQUFWLHVFQUFnQixHQUFoQjtBQUFBLFNBQzdCQyxLQUFLQyxLQUFMLENBQVdELEtBQUtFLE1BQUwsTUFBa0JILE1BQU1ELEdBQVAsR0FBYyxDQUEvQixDQUFYLElBQWdEQSxHQURuQjtBQUFBLENBQXhCOztBQUdBLElBQU1LLDhCQUFXLFNBQVhBLFFBQVc7QUFBQSxTQUFTUixRQUFRQyxHQUFSLG1DQUE0Q1EsS0FBNUMsUUFBVDtBQUFBLENBQWpCOztBQUVBLElBQU1DLHdDQUFnQixTQUFoQkEsYUFBZ0I7QUFBQSxTQUFPQyxJQUFJTixLQUFLQyxLQUFMLENBQVdELEtBQUtFLE1BQUwsS0FBZ0JJLElBQUlDLE1BQS9CLENBQUosQ0FBUDtBQUFBLENBQXRCOztBQUVBLElBQU1DLG9DQUFjLFNBQWRBLFdBQWMsQ0FBQ0MsSUFBRCxFQUFPQyxNQUFQO0FBQUEsU0FBa0JELFNBQVNDLE1BQTNCO0FBQUEsQ0FBcEI7O0FBR0EsSUFBTUMsZ0NBQVksU0FBWkEsU0FBWSxDQUFDQyxTQUFELEVBQVlDLFFBQVosRUFBeUI7QUFDaEQsTUFBTUMsV0FBV3ZCLGFBQWpCO0FBQ0EsTUFBSXdCLFFBQVEsQ0FBWjtBQUNBLFNBQU9BLFFBQVEsQ0FBZixFQUFrQjtBQUNoQixRQUFNQyxPQUFPSCw0Q0FBYjtBQUNBLFFBQU1JLFdBQVdDLE9BQU8sc0JBQUlGLElBQUosQ0FBUCxDQUFqQjtBQUNBLFFBQU1HLGVBQWUsc0JBQUlILElBQUosQ0FBckI7QUFDQXJCLFlBQVFDLEdBQVIsZ0JBQXlCdUIsWUFBekI7QUFDQSxRQUFNVCxTQUFTLHVCQUFhakIsUUFBYixDQUF5QixnQkFBTUMsR0FBTixDQUFVLE1BQVYsRUFBa0IsTUFBbEIsQ0FBekIsZ0JBQStEMEIsV0FBL0QsRUFBZjtBQUNBLFFBQUlaLFlBQVlTLFFBQVosRUFBc0JQLE1BQXRCLENBQUosRUFBbUM7QUFDakNLLGVBQVMsQ0FBVDtBQUNBcEIsY0FBUUMsR0FBUixNQUFlLGdCQUFNRixHQUFOLENBQVUsTUFBVixFQUFrQixVQUFsQixDQUFmO0FBQ0QsS0FIRCxNQUdPO0FBQ0xDLGNBQVFDLEdBQVIsUUFBZ0IsZ0JBQU1GLEdBQU4sQ0FBVSxTQUFWLEVBQXFCZ0IsTUFBckIsQ0FBaEIsb0RBQXlGLGdCQUFNaEIsR0FBTixDQUFVLFNBQVYsRUFBcUJ1QixRQUFyQixDQUF6RjtBQUNBdEIsY0FBUUMsR0FBUix3QkFBZ0NrQixRQUFoQztBQUNBLGFBQU8sS0FBUDtBQUNEO0FBQ0Y7QUFDRG5CLFVBQVFDLEdBQVIsTUFBZSxnQkFBTUYsR0FBTixDQUFVLE1BQVYsRUFBa0Isa0JBQWxCLEVBQXNDb0IsUUFBdEMsRUFBZ0QsR0FBaEQsQ0FBZjtBQUNBLFNBQU8sSUFBUDtBQUNELENBcEJNIiwiZmlsZSI6InV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCByZWFkbGluZVN5bmMgZnJvbSAncmVhZGxpbmUtc3luYyc7XG5pbXBvcnQgeyBjYXIsIGNkciB9IGZyb20gJ2hleGxldC1wYWlycyc7XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyTmFtZSA9ICgpID0+IHtcbiAgY29uc3QgbmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbihgTWF5IEkgaGF2ZSB5b3VyICR7Y2hhbGsuaGV4KCcjMDA4NmIzJykoJ25hbWUnKX0/IGApO1xuICBjb25zb2xlLmxvZyhgSGVsbG8sICR7Y2hhbGsuaGV4KCcjMDA4NmIzJykobmFtZSl9XFxuYCk7XG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJhbmRvbU51bWJlciA9IChtaW4gPSAxLCBtYXggPSAxMDApID0+XG4gIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgobWF4IC0gbWluKSArIDEpKSArIG1pbjtcblxuZXhwb3J0IGNvbnN0IHNheUhlbGxvID0gcnVsZXMgPT4gY29uc29sZS5sb2coYFdlbGNvbWUgdG8gdGhlIEJyYWluIEdhbWVzIVxcbiR7cnVsZXN9XFxuYCk7XG5cbmV4cG9ydCBjb25zdCBnZXRSYW5kb21JdGVtID0gYXJyID0+IGFycltNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBhcnIubGVuZ3RoKV07XG5cbmV4cG9ydCBjb25zdCBjaGVja0Fuc3dlciA9IChnb2FsLCBhbnN3ZXIpID0+IGdvYWwgPT09IGFuc3dlcjtcblxuXG5leHBvcnQgY29uc3Qgc3RhcnRHYW1lID0gKGdhbWVUaXRsZSwgZ2FtZVBsYXkpID0+IHtcbiAgY29uc3QgdXNlck5hbWUgPSBnZXRVc2VyTmFtZSgpO1xuICBsZXQgY291bnQgPSAwO1xuICB3aGlsZSAoY291bnQgPCAzKSB7XG4gICAgY29uc3QgZ2FtZSA9IGdhbWVQbGF5KGNhciwgY2RyKTtcbiAgICBjb25zdCBnYW1lR29hbCA9IFN0cmluZyhjZHIoZ2FtZSkpO1xuICAgIGNvbnN0IGdhbWVRdWVzdGlvbiA9IGNhcihnYW1lKTtcbiAgICBjb25zb2xlLmxvZyhgUXVlc3Rpb246ICR7Z2FtZVF1ZXN0aW9ufWApO1xuICAgIGNvbnN0IGFuc3dlciA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbihgJHtjaGFsay5oZXgoJyNkMTQnKSgnWW91cicpfSBhbnN3ZXI6IGApLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGNoZWNrQW5zd2VyKGdhbWVHb2FsLCBhbnN3ZXIpKSB7XG4gICAgICBjb3VudCArPSAxO1xuICAgICAgY29uc29sZS5sb2coYCR7Y2hhbGsuaGV4KCcjZDE0JykoJ0NvcnJlY3QhJyl9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGAnJHtjaGFsay5oZXgoJyM5OTAwNzMnKShhbnN3ZXIpfScgaXMgd3JvbmcgYW5zd2VyIDsoLiBDb3JyZWN0IGFuc3dlciB3YXMgJyR7Y2hhbGsuaGV4KCcjOTkwMDczJykoZ2FtZUdvYWwpfSdgKTtcbiAgICAgIGNvbnNvbGUubG9nKGBMZXQncyB0cnkgYWdhaW4sICR7dXNlck5hbWV9IWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBjb25zb2xlLmxvZyhgJHtjaGFsay5oZXgoJyNkMTQnKSgnQ29uZ3JhdHVsYXRpb25zLCcsIHVzZXJOYW1lLCAnIScpfWApO1xuICByZXR1cm4gdHJ1ZTtcbn07XG4iXX0=