UNPKG

braingamesmac

Version:

A set of mini-games launched from the console

67 lines (48 loc) 6.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRandomNumber = exports.default = exports.gameTemplate = exports.userName = void 0; var _hexletPairs = require("hexlet-pairs"); var _readlineSync = _interopRequireDefault(require("readline-sync")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const greeting = description => { console.log('Welcome to the Brain Games!'); if (description) { console.log(description); } return ''; }; const userName = () => { const putName = _readlineSync.default.question('May I have your name? '); console.log(`Hello, ${putName}!`); console.log(''); return putName; }; exports.userName = userName; const maxNumberOfAnswers = 3; const getRandomNumber = (min = 0, max = 100) => Math.floor(Math.random() * (max - min + 1)) + min; exports.getRandomNumber = getRandomNumber; const gameTemplate = (task, description) => { console.log(greeting(description)); const usName = userName(); console.log(`Hello, ${usName}!`); for (let i = 1; i <= maxNumberOfAnswers; i += 1) { const gameConditions = task(); const taskString = (0, _hexletPairs.car)(gameConditions); console.log(`Question: ${taskString}`); const correctAnswer = String((0, _hexletPairs.cdr)(gameConditions)); const userAnswer = _readlineSync.default.question('Your answer: '); if (userAnswer !== correctAnswer) { console.log(`"${userAnswer}" is wrong answer ;(. Correct answer was "${correctAnswer}"`); console.log(`Let's try again, ${usName}!`); return; } console.log('Correct!'); } console.log(`Congratulations, ${usName}!`); }; exports.gameTemplate = gameTemplate; var _default = greeting; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJncmVldGluZyIsImRlc2NyaXB0aW9uIiwiY29uc29sZSIsImxvZyIsInVzZXJOYW1lIiwicHV0TmFtZSIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwibWF4TnVtYmVyT2ZBbnN3ZXJzIiwiZ2V0UmFuZG9tTnVtYmVyIiwibWluIiwibWF4IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiZ2FtZVRlbXBsYXRlIiwidGFzayIsInVzTmFtZSIsImkiLCJnYW1lQ29uZGl0aW9ucyIsInRhc2tTdHJpbmciLCJjb3JyZWN0QW5zd2VyIiwiU3RyaW5nIiwidXNlckFuc3dlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBRUEsTUFBTUEsUUFBUSxHQUFJQyxXQUFELElBQWlCO0FBQ2hDQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSw2QkFBWjs7QUFDQSxNQUFJRixXQUFKLEVBQWlCO0FBQ2ZDLElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixXQUFaO0FBQ0Q7O0FBQ0QsU0FBTyxFQUFQO0FBQ0QsQ0FORDs7QUFPTyxNQUFNRyxRQUFRLEdBQUcsTUFBTTtBQUM1QixRQUFNQyxPQUFPLEdBQUdDLHNCQUFhQyxRQUFiLENBQXNCLHdCQUF0QixDQUFoQjs7QUFDQUwsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsVUFBU0UsT0FBUSxHQUE5QjtBQUNBSCxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxFQUFaO0FBQ0EsU0FBT0UsT0FBUDtBQUNELENBTE07OztBQU9QLE1BQU1HLGtCQUFrQixHQUFHLENBQTNCOztBQUVBLE1BQU1DLGVBQWUsR0FBRyxDQUFDQyxHQUFHLEdBQUcsQ0FBUCxFQUFVQyxHQUFHLEdBQUcsR0FBaEIsS0FBd0JDLElBQUksQ0FBQ0MsS0FBTCxDQUFXRCxJQUFJLENBQUNFLE1BQUwsTUFBaUJILEdBQUcsR0FBR0QsR0FBTixHQUFZLENBQTdCLENBQVgsSUFBOENBLEdBQTlGOzs7O0FBRU8sTUFBTUssWUFBWSxHQUFHLENBQUNDLElBQUQsRUFBT2YsV0FBUCxLQUF1QjtBQUNqREMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlILFFBQVEsQ0FBQ0MsV0FBRCxDQUFwQjtBQUNBLFFBQU1nQixNQUFNLEdBQUdiLFFBQVEsRUFBdkI7QUFDQUYsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsVUFBU2MsTUFBTyxHQUE3Qjs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLElBQUlWLGtCQUFyQixFQUF5Q1UsQ0FBQyxJQUFJLENBQTlDLEVBQWlEO0FBQy9DLFVBQU1DLGNBQWMsR0FBR0gsSUFBSSxFQUEzQjtBQUNBLFVBQU1JLFVBQVUsR0FBRyxzQkFBSUQsY0FBSixDQUFuQjtBQUNBakIsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsYUFBWWlCLFVBQVcsRUFBcEM7QUFDQSxVQUFNQyxhQUFhLEdBQUdDLE1BQU0sQ0FBQyxzQkFBSUgsY0FBSixDQUFELENBQTVCOztBQUNBLFVBQU1JLFVBQVUsR0FBR2pCLHNCQUFhQyxRQUFiLENBQXNCLGVBQXRCLENBQW5COztBQUNBLFFBQUlnQixVQUFVLEtBQUtGLGFBQW5CLEVBQWtDO0FBQ2hDbkIsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsSUFBR29CLFVBQVcsNkNBQTRDRixhQUFjLEdBQXJGO0FBQ0FuQixNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxvQkFBbUJjLE1BQU8sR0FBdkM7QUFDQTtBQUNEOztBQUNEZixJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxVQUFaO0FBQ0Q7O0FBQ0RELEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLG9CQUFtQmMsTUFBTyxHQUF2QztBQUNELENBbEJNOzs7ZUFvQlFqQixRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FyLCBjZHIgfSBmcm9tICdoZXhsZXQtcGFpcnMnO1xuaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcblxuY29uc3QgZ3JlZXRpbmcgPSAoZGVzY3JpcHRpb24pID0+IHtcbiAgY29uc29sZS5sb2coJ1dlbGNvbWUgdG8gdGhlIEJyYWluIEdhbWVzIScpO1xuICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICBjb25zb2xlLmxvZyhkZXNjcmlwdGlvbik7XG4gIH1cbiAgcmV0dXJuICcnO1xufTtcbmV4cG9ydCBjb25zdCB1c2VyTmFtZSA9ICgpID0+IHtcbiAgY29uc3QgcHV0TmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignTWF5IEkgaGF2ZSB5b3VyIG5hbWU/ICcpO1xuICBjb25zb2xlLmxvZyhgSGVsbG8sICR7cHV0TmFtZX0hYCk7XG4gIGNvbnNvbGUubG9nKCcnKTtcbiAgcmV0dXJuIHB1dE5hbWU7XG59O1xuXG5jb25zdCBtYXhOdW1iZXJPZkFuc3dlcnMgPSAzO1xuXG5jb25zdCBnZXRSYW5kb21OdW1iZXIgPSAobWluID0gMCwgbWF4ID0gMTAwKSA9PiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuXG5leHBvcnQgY29uc3QgZ2FtZVRlbXBsYXRlID0gKHRhc2ssIGRlc2NyaXB0aW9uKSA9PiB7XG4gIGNvbnNvbGUubG9nKGdyZWV0aW5nKGRlc2NyaXB0aW9uKSk7XG4gIGNvbnN0IHVzTmFtZSA9IHVzZXJOYW1lKCk7XG4gIGNvbnNvbGUubG9nKGBIZWxsbywgJHt1c05hbWV9IWApO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSBtYXhOdW1iZXJPZkFuc3dlcnM7IGkgKz0gMSkge1xuICAgIGNvbnN0IGdhbWVDb25kaXRpb25zID0gdGFzaygpO1xuICAgIGNvbnN0IHRhc2tTdHJpbmcgPSBjYXIoZ2FtZUNvbmRpdGlvbnMpO1xuICAgIGNvbnNvbGUubG9nKGBRdWVzdGlvbjogJHt0YXNrU3RyaW5nfWApO1xuICAgIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBTdHJpbmcoY2RyKGdhbWVDb25kaXRpb25zKSk7XG4gICAgY29uc3QgdXNlckFuc3dlciA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignWW91ciBhbnN3ZXI6ICcpO1xuICAgIGlmICh1c2VyQW5zd2VyICE9PSBjb3JyZWN0QW5zd2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhgXCIke3VzZXJBbnN3ZXJ9XCIgaXMgd3JvbmcgYW5zd2VyIDsoLiBDb3JyZWN0IGFuc3dlciB3YXMgXCIke2NvcnJlY3RBbnN3ZXJ9XCJgKTtcbiAgICAgIGNvbnNvbGUubG9nKGBMZXQncyB0cnkgYWdhaW4sICR7dXNOYW1lfSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS5sb2coJ0NvcnJlY3QhJyk7XG4gIH1cbiAgY29uc29sZS5sb2coYENvbmdyYXR1bGF0aW9ucywgJHt1c05hbWV9IWApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZ3JlZXRpbmc7XG5leHBvcnQgeyBnZXRSYW5kb21OdW1iZXIgfTtcbiJdfQ==