UNPKG

uladzislau97-brain-games

Version:

Set of console mini-games.

54 lines (41 loc) 4.67 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 questionsMaxNumber = 3; const askQuestion = (generateTask, questionNumber = 1) => { if (questionNumber > questionsMaxNumber) { return { isVictory: true }; } const { question, correctAnswer } = generateTask(); console.log(`Question: ${question}`); const givenAnswer = _readlineSync.default.question('Your answer: '); if (givenAnswer !== correctAnswer) { return { isVictory: false, givenAnswer, correctAnswer }; } console.log('Correct!'); return askQuestion(generateTask, questionNumber + 1); }; var _default = (gameDescription, generateTask) => { 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(generateTask); 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9nYW1lLWVuZ2luZS5qcyJdLCJuYW1lcyI6WyJxdWVzdGlvbnNNYXhOdW1iZXIiLCJhc2tRdWVzdGlvbiIsImdlbmVyYXRlVGFzayIsInF1ZXN0aW9uTnVtYmVyIiwiaXNWaWN0b3J5IiwicXVlc3Rpb24iLCJjb3JyZWN0QW5zd2VyIiwiY29uc29sZSIsImxvZyIsImdpdmVuQW5zd2VyIiwicmVhZGxpbmVTeW5jIiwiZ2FtZURlc2NyaXB0aW9uIiwibmFtZSIsImdhbWVSZXN1bHQiLCJmaW5hbE1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLENBQTNCOztBQUVBLE1BQU1DLFdBQVcsR0FBRyxDQUFDQyxZQUFELEVBQWVDLGNBQWMsR0FBRyxDQUFoQyxLQUFzQztBQUN4RCxNQUFJQSxjQUFjLEdBQUdILGtCQUFyQixFQUF5QztBQUN2QyxXQUFPO0FBQUVJLE1BQUFBLFNBQVMsRUFBRTtBQUFiLEtBQVA7QUFDRDs7QUFFRCxRQUFNO0FBQUVDLElBQUFBLFFBQUY7QUFBWUMsSUFBQUE7QUFBWixNQUE4QkosWUFBWSxFQUFoRDtBQUNBSyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxhQUFZSCxRQUFTLEVBQWxDOztBQUNBLFFBQU1JLFdBQVcsR0FBR0Msc0JBQWFMLFFBQWIsQ0FBc0IsZUFBdEIsQ0FBcEI7O0FBRUEsTUFBSUksV0FBVyxLQUFLSCxhQUFwQixFQUFtQztBQUNqQyxXQUFPO0FBQUVGLE1BQUFBLFNBQVMsRUFBRSxLQUFiO0FBQW9CSyxNQUFBQSxXQUFwQjtBQUFpQ0gsTUFBQUE7QUFBakMsS0FBUDtBQUNEOztBQUVEQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxVQUFaO0FBQ0EsU0FBT1AsV0FBVyxDQUFDQyxZQUFELEVBQWVDLGNBQWMsR0FBRyxDQUFoQyxDQUFsQjtBQUNELENBZkQ7O2VBaUJlLENBQUNRLGVBQUQsRUFBa0JULFlBQWxCLEtBQW1DO0FBQ2hESyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSw2QkFBWjtBQUNBRCxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxHQUFFRyxlQUFnQixJQUEvQjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLHNCQUFhTCxRQUFiLENBQXNCLHdCQUF0QixDQUFiOztBQUNBRSxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxVQUFTSSxJQUFLLEdBQTNCO0FBQ0EsUUFBTUMsVUFBVSxHQUFHWixXQUFXLENBQUNDLFlBQUQsQ0FBOUI7QUFDQSxRQUFNWSxZQUFZLEdBQUdELFVBQVUsQ0FBQ1QsU0FBWCxHQUNoQixvQkFBbUJRLElBQUssR0FEUixHQUVoQixJQUFHQyxVQUFVLENBQUNKLFdBQVksNkNBQTRDSSxVQUFVLENBQUNQLGFBQWMsSUFGcEc7QUFHQUMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlNLFlBQVo7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcblxuY29uc3QgcXVlc3Rpb25zTWF4TnVtYmVyID0gMztcblxuY29uc3QgYXNrUXVlc3Rpb24gPSAoZ2VuZXJhdGVUYXNrLCBxdWVzdGlvbk51bWJlciA9IDEpID0+IHtcbiAgaWYgKHF1ZXN0aW9uTnVtYmVyID4gcXVlc3Rpb25zTWF4TnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgaXNWaWN0b3J5OiB0cnVlIH07XG4gIH1cblxuICBjb25zdCB7IHF1ZXN0aW9uLCBjb3JyZWN0QW5zd2VyIH0gPSBnZW5lcmF0ZVRhc2soKTtcbiAgY29uc29sZS5sb2coYFF1ZXN0aW9uOiAke3F1ZXN0aW9ufWApO1xuICBjb25zdCBnaXZlbkFuc3dlciA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignWW91ciBhbnN3ZXI6ICcpO1xuXG4gIGlmIChnaXZlbkFuc3dlciAhPT0gY29ycmVjdEFuc3dlcikge1xuICAgIHJldHVybiB7IGlzVmljdG9yeTogZmFsc2UsIGdpdmVuQW5zd2VyLCBjb3JyZWN0QW5zd2VyIH07XG4gIH1cblxuICBjb25zb2xlLmxvZygnQ29ycmVjdCEnKTtcbiAgcmV0dXJuIGFza1F1ZXN0aW9uKGdlbmVyYXRlVGFzaywgcXVlc3Rpb25OdW1iZXIgKyAxKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChnYW1lRGVzY3JpcHRpb24sIGdlbmVyYXRlVGFzaykgPT4ge1xuICBjb25zb2xlLmxvZygnV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhJyk7XG4gIGNvbnNvbGUubG9nKGAke2dhbWVEZXNjcmlwdGlvbn1cXG5gKTtcbiAgY29uc3QgbmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignTWF5IEkgaGF2ZSB5b3VyIG5hbWU/ICcpO1xuICBjb25zb2xlLmxvZyhgSGVsbG8sICR7bmFtZX0hYCk7XG4gIGNvbnN0IGdhbWVSZXN1bHQgPSBhc2tRdWVzdGlvbihnZW5lcmF0ZVRhc2spO1xuICBjb25zdCBmaW5hbE1lc3NhZ2UgPSBnYW1lUmVzdWx0LmlzVmljdG9yeVxuICAgID8gYENvbmdyYXR1bGF0aW9ucywgJHtuYW1lfSFgXG4gICAgOiBgJyR7Z2FtZVJlc3VsdC5naXZlbkFuc3dlcn0nIGlzIHdyb25nIGFuc3dlciA7KC4gQ29ycmVjdCBhbnN3ZXIgd2FzICcke2dhbWVSZXN1bHQuY29ycmVjdEFuc3dlcn0nLmA7XG4gIGNvbnNvbGUubG9nKGZpbmFsTWVzc2FnZSk7XG59O1xuIl19