UNPKG

uladzislau97-brain-games

Version:

Set of console mini-games.

53 lines (39 loc) 5.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _readlineSync = _interopRequireDefault(require("readline-sync")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const QUESTIONS_MAX_NUMBER = 3; const askQuestion = (generateQuestion, getCorrectAnswer, questionNumber = 1) => { if (questionNumber > QUESTIONS_MAX_NUMBER) { return { isVictory: true }; } const question = generateQuestion(); console.log(`Question: ${question}`); const givenAnswer = _readlineSync.default.question('Your answer: '); const correctAnswer = getCorrectAnswer(question); if (givenAnswer !== correctAnswer) { return { isVictory: false, givenAnswer, correctAnswer }; } console.log('Correct!'); return askQuestion(generateQuestion, getCorrectAnswer, questionNumber + 1); }; var _default = (gameDescription, generateQuestion, getCorrectAnswer) => { console.log('Welcome to the Brain Games!'); console.log(`${gameDescription}\n`); const name = _readlineSync.default.question('May I have your name? '); console.log(`Hello, ${name}!`); const gameResult = askQuestion(generateQuestion, getCorrectAnswer); const finalMessage = gameResult.isVictory ? `Congratulations, ${name}!` : `'${gameResult.givenAnswer}' is wrong answer ;(. Correct answer was '${gameResult.correctAnswer}'.`; console.log(finalMessage); }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nYW1lLWVuZ2luZS5qcyJdLCJuYW1lcyI6WyJRVUVTVElPTlNfTUFYX05VTUJFUiIsImFza1F1ZXN0aW9uIiwiZ2VuZXJhdGVRdWVzdGlvbiIsImdldENvcnJlY3RBbnN3ZXIiLCJxdWVzdGlvbk51bWJlciIsImlzVmljdG9yeSIsInF1ZXN0aW9uIiwiY29uc29sZSIsImxvZyIsImdpdmVuQW5zd2VyIiwicmVhZGxpbmVTeW5jIiwiY29ycmVjdEFuc3dlciIsImdhbWVEZXNjcmlwdGlvbiIsIm5hbWUiLCJnYW1lUmVzdWx0IiwiZmluYWxNZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyxDQUE3Qjs7QUFFQSxNQUFNQyxXQUFXLEdBQUcsQ0FBQ0MsZ0JBQUQsRUFBbUJDLGdCQUFuQixFQUFxQ0MsY0FBYyxHQUFHLENBQXRELEtBQTREO0FBQzlFLE1BQUlBLGNBQWMsR0FBR0osb0JBQXJCLEVBQTJDO0FBQ3pDLFdBQU87QUFBRUssTUFBQUEsU0FBUyxFQUFFO0FBQWIsS0FBUDtBQUNEOztBQUVELFFBQU1DLFFBQVEsR0FBR0osZ0JBQWdCLEVBQWpDO0FBQ0FLLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLGFBQVlGLFFBQVMsRUFBbEM7O0FBQ0EsUUFBTUcsV0FBVyxHQUFHQyxzQkFBYUosUUFBYixDQUFzQixlQUF0QixDQUFwQjs7QUFDQSxRQUFNSyxhQUFhLEdBQUdSLGdCQUFnQixDQUFDRyxRQUFELENBQXRDOztBQUVBLE1BQUlHLFdBQVcsS0FBS0UsYUFBcEIsRUFBbUM7QUFDakMsV0FBTztBQUFFTixNQUFBQSxTQUFTLEVBQUUsS0FBYjtBQUFvQkksTUFBQUEsV0FBcEI7QUFBaUNFLE1BQUFBO0FBQWpDLEtBQVA7QUFDRDs7QUFFREosRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksVUFBWjtBQUNBLFNBQU9QLFdBQVcsQ0FBQ0MsZ0JBQUQsRUFBbUJDLGdCQUFuQixFQUFxQ0MsY0FBYyxHQUFHLENBQXRELENBQWxCO0FBQ0QsQ0FoQkQ7O2VBa0JlLENBQUNRLGVBQUQsRUFBa0JWLGdCQUFsQixFQUFvQ0MsZ0JBQXBDLEtBQXlEO0FBQ3RFSSxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSw2QkFBWjtBQUNBRCxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxHQUFFSSxlQUFnQixJQUEvQjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdILHNCQUFhSixRQUFiLENBQXNCLHdCQUF0QixDQUFiOztBQUNBQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxVQUFTSyxJQUFLLEdBQTNCO0FBQ0EsUUFBTUMsVUFBVSxHQUFHYixXQUFXLENBQUNDLGdCQUFELEVBQW1CQyxnQkFBbkIsQ0FBOUI7QUFDQSxRQUFNWSxZQUFZLEdBQUdELFVBQVUsQ0FBQ1QsU0FBWCxHQUNoQixvQkFBbUJRLElBQUssR0FEUixHQUVoQixJQUFHQyxVQUFVLENBQUNMLFdBQVksNkNBQTRDSyxVQUFVLENBQUNILGFBQWMsSUFGcEc7QUFHQUosRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlPLFlBQVo7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcblxuY29uc3QgUVVFU1RJT05TX01BWF9OVU1CRVIgPSAzO1xuXG5jb25zdCBhc2tRdWVzdGlvbiA9IChnZW5lcmF0ZVF1ZXN0aW9uLCBnZXRDb3JyZWN0QW5zd2VyLCBxdWVzdGlvbk51bWJlciA9IDEpID0+IHtcbiAgaWYgKHF1ZXN0aW9uTnVtYmVyID4gUVVFU1RJT05TX01BWF9OVU1CRVIpIHtcbiAgICByZXR1cm4geyBpc1ZpY3Rvcnk6IHRydWUgfTtcbiAgfVxuXG4gIGNvbnN0IHF1ZXN0aW9uID0gZ2VuZXJhdGVRdWVzdGlvbigpO1xuICBjb25zb2xlLmxvZyhgUXVlc3Rpb246ICR7cXVlc3Rpb259YCk7XG4gIGNvbnN0IGdpdmVuQW5zd2VyID0gcmVhZGxpbmVTeW5jLnF1ZXN0aW9uKCdZb3VyIGFuc3dlcjogJyk7XG4gIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBnZXRDb3JyZWN0QW5zd2VyKHF1ZXN0aW9uKTtcblxuICBpZiAoZ2l2ZW5BbnN3ZXIgIT09IGNvcnJlY3RBbnN3ZXIpIHtcbiAgICByZXR1cm4geyBpc1ZpY3Rvcnk6IGZhbHNlLCBnaXZlbkFuc3dlciwgY29ycmVjdEFuc3dlciB9O1xuICB9XG5cbiAgY29uc29sZS5sb2coJ0NvcnJlY3QhJyk7XG4gIHJldHVybiBhc2tRdWVzdGlvbihnZW5lcmF0ZVF1ZXN0aW9uLCBnZXRDb3JyZWN0QW5zd2VyLCBxdWVzdGlvbk51bWJlciArIDEpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKGdhbWVEZXNjcmlwdGlvbiwgZ2VuZXJhdGVRdWVzdGlvbiwgZ2V0Q29ycmVjdEFuc3dlcikgPT4ge1xuICBjb25zb2xlLmxvZygnV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhJyk7XG4gIGNvbnNvbGUubG9nKGAke2dhbWVEZXNjcmlwdGlvbn1cXG5gKTtcbiAgY29uc3QgbmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignTWF5IEkgaGF2ZSB5b3VyIG5hbWU/ICcpO1xuICBjb25zb2xlLmxvZyhgSGVsbG8sICR7bmFtZX0hYCk7XG4gIGNvbnN0IGdhbWVSZXN1bHQgPSBhc2tRdWVzdGlvbihnZW5lcmF0ZVF1ZXN0aW9uLCBnZXRDb3JyZWN0QW5zd2VyKTtcbiAgY29uc3QgZmluYWxNZXNzYWdlID0gZ2FtZVJlc3VsdC5pc1ZpY3RvcnlcbiAgICA/IGBDb25ncmF0dWxhdGlvbnMsICR7bmFtZX0hYFxuICAgIDogYCcke2dhbWVSZXN1bHQuZ2l2ZW5BbnN3ZXJ9JyBpcyB3cm9uZyBhbnN3ZXIgOyguIENvcnJlY3QgYW5zd2VyIHdhcyAnJHtnYW1lUmVzdWx0LmNvcnJlY3RBbnN3ZXJ9Jy5gO1xuICBjb25zb2xlLmxvZyhmaW5hbE1lc3NhZ2UpO1xufTtcbiJdfQ==