UNPKG

easyoxygen

Version:
66 lines (50 loc) 5.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.getSimpleGameData = void 0; var _readlineSync = _interopRequireDefault(require("readline-sync")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const getName = () => { const name = _readlineSync.default.question('May I have your name? '); return name; }; const greeting = ruleOfGame => { console.log(); console.log('Welcome to the Brain Games!'); console.log(ruleOfGame); console.log(); }; const numberOfRounds = 3; const getSimpleGameData = (game, question) => { const correctAnswer = game(question) ? 'yes' : 'no'; return [question, correctAnswer]; }; exports.getSimpleGameData = getSimpleGameData; const game = (round, generateGameData) => { for (let i = 0; i < round; i += 1) { const [question, correctAnswer] = generateGameData(); console.log(`Question: ${question}`); const answer = _readlineSync.default.question('Your answer: '); if (correctAnswer !== answer) { console.log(`'${answer}' is wrong answer ;(. Correct answer is '${correctAnswer}'.`); console.log(); return false; } console.log('Correct!'); console.log(); } return true; }; const runGame = (ruleOfGame, generateGameData) => { greeting(ruleOfGame); const userName = getName(); console.log(`Hello, ${userName}!`); console.log(); const isWin = game(numberOfRounds, generateGameData); const showGameResult = isWin ? `Congratulations, ${userName}!` : `Let's try again, ${userName}...`; console.log(`${showGameResult}`); }; var _default = runGame; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXROYW1lIiwibmFtZSIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwiZ3JlZXRpbmciLCJydWxlT2ZHYW1lIiwiY29uc29sZSIsImxvZyIsIm51bWJlck9mUm91bmRzIiwiZ2V0U2ltcGxlR2FtZURhdGEiLCJnYW1lIiwiY29ycmVjdEFuc3dlciIsInJvdW5kIiwiZ2VuZXJhdGVHYW1lRGF0YSIsImkiLCJhbnN3ZXIiLCJydW5HYW1lIiwidXNlck5hbWUiLCJpc1dpbiIsInNob3dHYW1lUmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxNQUFNQSxPQUFPLEdBQUcsTUFBTTtBQUNwQixRQUFNQyxJQUFJLEdBQUdDLHNCQUFhQyxRQUFiLENBQXNCLHdCQUF0QixDQUFiOztBQUNBLFNBQU9GLElBQVA7QUFDRCxDQUhEOztBQUtBLE1BQU1HLFFBQVEsR0FBSUMsVUFBRCxJQUFnQjtBQUMvQkMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSO0FBQ0FELEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLDZCQUFaO0FBQ0FELEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixVQUFaO0FBQ0FDLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUjtBQUNELENBTEQ7O0FBTUEsTUFBTUMsY0FBYyxHQUFHLENBQXZCOztBQUVPLE1BQU1DLGlCQUFpQixHQUFHLENBQUNDLElBQUQsRUFBT1AsUUFBUCxLQUFvQjtBQUNuRCxRQUFNUSxhQUFhLEdBQUdELElBQUksQ0FBQ1AsUUFBRCxDQUFKLEdBQWlCLEtBQWpCLEdBQXlCLElBQS9DO0FBQ0EsU0FBTyxDQUFDQSxRQUFELEVBQVdRLGFBQVgsQ0FBUDtBQUNELENBSE07Ozs7QUFJUCxNQUFNRCxJQUFJLEdBQUcsQ0FBQ0UsS0FBRCxFQUFRQyxnQkFBUixLQUE2QjtBQUN4QyxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdGLEtBQXBCLEVBQTJCRSxDQUFDLElBQUksQ0FBaEMsRUFBbUM7QUFDakMsVUFBTSxDQUFDWCxRQUFELEVBQVdRLGFBQVgsSUFBNEJFLGdCQUFnQixFQUFsRDtBQUNBUCxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxhQUFZSixRQUFTLEVBQWxDOztBQUNBLFVBQU1ZLE1BQU0sR0FBR2Isc0JBQWFDLFFBQWIsQ0FBc0IsZUFBdEIsQ0FBZjs7QUFFQSxRQUFJUSxhQUFhLEtBQUtJLE1BQXRCLEVBQThCO0FBQzVCVCxNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxJQUFHUSxNQUFPLDRDQUEyQ0osYUFBYyxJQUFoRjtBQUNBTCxNQUFBQSxPQUFPLENBQUNDLEdBQVI7QUFDQSxhQUFPLEtBQVA7QUFDRDs7QUFDREQsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksVUFBWjtBQUNBRCxJQUFBQSxPQUFPLENBQUNDLEdBQVI7QUFDRDs7QUFFRCxTQUFPLElBQVA7QUFDRCxDQWhCRDs7QUFrQkEsTUFBTVMsT0FBTyxHQUFHLENBQUNYLFVBQUQsRUFBYVEsZ0JBQWIsS0FBa0M7QUFDaERULEVBQUFBLFFBQVEsQ0FBQ0MsVUFBRCxDQUFSO0FBRUEsUUFBTVksUUFBUSxHQUFHakIsT0FBTyxFQUF4QjtBQUNBTSxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxVQUFTVSxRQUFTLEdBQS9CO0FBQ0FYLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUjtBQUNBLFFBQU1XLEtBQUssR0FBR1IsSUFBSSxDQUFDRixjQUFELEVBQWlCSyxnQkFBakIsQ0FBbEI7QUFDQSxRQUFNTSxjQUFjLEdBQUdELEtBQUssR0FBSSxvQkFBbUJELFFBQVMsR0FBaEMsR0FBc0Msb0JBQW1CQSxRQUFTLEtBQTlGO0FBRUFYLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLEdBQUVZLGNBQWUsRUFBOUI7QUFDRCxDQVZEOztlQVllSCxPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcblxuY29uc3QgZ2V0TmFtZSA9ICgpID0+IHtcbiAgY29uc3QgbmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignTWF5IEkgaGF2ZSB5b3VyIG5hbWU/ICcpO1xuICByZXR1cm4gbmFtZTtcbn07XG5cbmNvbnN0IGdyZWV0aW5nID0gKHJ1bGVPZkdhbWUpID0+IHtcbiAgY29uc29sZS5sb2coKTtcbiAgY29uc29sZS5sb2coJ1dlbGNvbWUgdG8gdGhlIEJyYWluIEdhbWVzIScpO1xuICBjb25zb2xlLmxvZyhydWxlT2ZHYW1lKTtcbiAgY29uc29sZS5sb2coKTtcbn07XG5jb25zdCBudW1iZXJPZlJvdW5kcyA9IDM7XG5cbmV4cG9ydCBjb25zdCBnZXRTaW1wbGVHYW1lRGF0YSA9IChnYW1lLCBxdWVzdGlvbikgPT4ge1xuICBjb25zdCBjb3JyZWN0QW5zd2VyID0gZ2FtZShxdWVzdGlvbikgPyAneWVzJyA6ICdubyc7XG4gIHJldHVybiBbcXVlc3Rpb24sIGNvcnJlY3RBbnN3ZXJdO1xufTtcbmNvbnN0IGdhbWUgPSAocm91bmQsIGdlbmVyYXRlR2FtZURhdGEpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3VuZDsgaSArPSAxKSB7XG4gICAgY29uc3QgW3F1ZXN0aW9uLCBjb3JyZWN0QW5zd2VyXSA9IGdlbmVyYXRlR2FtZURhdGEoKTtcbiAgICBjb25zb2xlLmxvZyhgUXVlc3Rpb246ICR7cXVlc3Rpb259YCk7XG4gICAgY29uc3QgYW5zd2VyID0gcmVhZGxpbmVTeW5jLnF1ZXN0aW9uKCdZb3VyIGFuc3dlcjogJyk7XG5cbiAgICBpZiAoY29ycmVjdEFuc3dlciAhPT0gYW5zd2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhgJyR7YW5zd2VyfScgaXMgd3JvbmcgYW5zd2VyIDsoLiBDb3JyZWN0IGFuc3dlciBpcyAnJHtjb3JyZWN0QW5zd2VyfScuYCk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygnQ29ycmVjdCEnKTtcbiAgICBjb25zb2xlLmxvZygpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5jb25zdCBydW5HYW1lID0gKHJ1bGVPZkdhbWUsIGdlbmVyYXRlR2FtZURhdGEpID0+IHtcbiAgZ3JlZXRpbmcocnVsZU9mR2FtZSk7XG5cbiAgY29uc3QgdXNlck5hbWUgPSBnZXROYW1lKCk7XG4gIGNvbnNvbGUubG9nKGBIZWxsbywgJHt1c2VyTmFtZX0hYCk7XG4gIGNvbnNvbGUubG9nKCk7XG4gIGNvbnN0IGlzV2luID0gZ2FtZShudW1iZXJPZlJvdW5kcywgZ2VuZXJhdGVHYW1lRGF0YSk7XG4gIGNvbnN0IHNob3dHYW1lUmVzdWx0ID0gaXNXaW4gPyBgQ29uZ3JhdHVsYXRpb25zLCAke3VzZXJOYW1lfSFgIDogYExldCdzIHRyeSBhZ2FpbiwgJHt1c2VyTmFtZX0uLi5gO1xuXG4gIGNvbnNvbGUubG9nKGAke3Nob3dHYW1lUmVzdWx0fWApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcnVuR2FtZTtcbiJdfQ==