uladzislau97-brain-games
Version:
Set of console mini-games.
53 lines (39 loc) • 5.12 kB
JavaScript
;
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==