braingk58
Version:
mini-games for you and your family
48 lines (34 loc) • 4.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _readlineSync = _interopRequireDefault(require("readline-sync"));
var _hexletPairs = require("hexlet-pairs");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getQuestion = pair => (0, _hexletPairs.car)(pair);
const getAnswer = pair => (0, _hexletPairs.cdr)(pair);
const steps = 3;
const gameFlow = (description, getPairQuestionAndAnswer) => {
const userName = _readlineSync.default.question('May I have your name? ');
console.log(`Hello, ${userName}!`);
console.log(description);
for (let step = 1; step <= steps; step += 1) {
const questionAndAnswer = getPairQuestionAndAnswer();
const question = getQuestion(questionAndAnswer);
console.log(`Question: ${question}`);
const answer = getAnswer(questionAndAnswer);
const userAnswer = _readlineSync.default.question('Your answer: ');
if (answer === userAnswer) {
console.log('Correct!');
} else {
console.log(`${userAnswer} is wrong answer ;(. Correct answer was '${answer}'.`);
console.log(`Let's try again, ${userName}`);
return;
}
}
console.log(`Congratulations, ${userName}`);
};
var _default = gameFlow;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXRRdWVzdGlvbiIsInBhaXIiLCJnZXRBbnN3ZXIiLCJzdGVwcyIsImdhbWVGbG93IiwiZGVzY3JpcHRpb24iLCJnZXRQYWlyUXVlc3Rpb25BbmRBbnN3ZXIiLCJ1c2VyTmFtZSIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwiY29uc29sZSIsImxvZyIsInN0ZXAiLCJxdWVzdGlvbkFuZEFuc3dlciIsImFuc3dlciIsInVzZXJBbnN3ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLFdBQVcsR0FBR0MsSUFBSSxJQUFJLHNCQUFJQSxJQUFKLENBQTVCOztBQUNBLE1BQU1DLFNBQVMsR0FBR0QsSUFBSSxJQUFJLHNCQUFJQSxJQUFKLENBQTFCOztBQUNBLE1BQU1FLEtBQUssR0FBRyxDQUFkOztBQUVBLE1BQU1DLFFBQVEsR0FBRyxDQUFDQyxXQUFELEVBQWNDLHdCQUFkLEtBQTJDO0FBQzFELFFBQU1DLFFBQVEsR0FBR0Msc0JBQWFDLFFBQWIsQ0FBc0Isd0JBQXRCLENBQWpCOztBQUNBQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxVQUFTSixRQUFTLEdBQS9CO0FBQ0FHLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZTixXQUFaOztBQUNBLE9BQUssSUFBSU8sSUFBSSxHQUFHLENBQWhCLEVBQW1CQSxJQUFJLElBQUlULEtBQTNCLEVBQWtDUyxJQUFJLElBQUksQ0FBMUMsRUFBNkM7QUFDM0MsVUFBTUMsaUJBQWlCLEdBQUdQLHdCQUF3QixFQUFsRDtBQUNBLFVBQU1HLFFBQVEsR0FBR1QsV0FBVyxDQUFDYSxpQkFBRCxDQUE1QjtBQUNBSCxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxjQUFhRixRQUFTLEVBQW5DO0FBQ0EsVUFBTUssTUFBTSxHQUFHWixTQUFTLENBQUNXLGlCQUFELENBQXhCOztBQUNBLFVBQU1FLFVBQVUsR0FBR1Asc0JBQWFDLFFBQWIsQ0FBc0IsZUFBdEIsQ0FBbkI7O0FBQ0EsUUFBSUssTUFBTSxLQUFLQyxVQUFmLEVBQTJCO0FBQ3pCTCxNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxVQUFaO0FBQ0QsS0FGRCxNQUVPO0FBQ0xELE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLEdBQUVJLFVBQVcsNENBQTJDRCxNQUFPLElBQTVFO0FBQ0FKLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLG9CQUFtQkosUUFBUyxFQUF6QztBQUNBO0FBQ0Q7QUFDRjs7QUFDREcsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsb0JBQW1CSixRQUFTLEVBQXpDO0FBQ0QsQ0FuQkQ7O2VBb0JlSCxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcbmltcG9ydCB7IGNhciwgY2RyIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcblxuY29uc3QgZ2V0UXVlc3Rpb24gPSBwYWlyID0+IGNhcihwYWlyKTtcbmNvbnN0IGdldEFuc3dlciA9IHBhaXIgPT4gY2RyKHBhaXIpO1xuY29uc3Qgc3RlcHMgPSAzO1xuXG5jb25zdCBnYW1lRmxvdyA9IChkZXNjcmlwdGlvbiwgZ2V0UGFpclF1ZXN0aW9uQW5kQW5zd2VyKSA9PiB7XG4gIGNvbnN0IHVzZXJOYW1lID0gcmVhZGxpbmVTeW5jLnF1ZXN0aW9uKCdNYXkgSSBoYXZlIHlvdXIgbmFtZT8gJyk7XG4gIGNvbnNvbGUubG9nKGBIZWxsbywgJHt1c2VyTmFtZX0hYCk7XG4gIGNvbnNvbGUubG9nKGRlc2NyaXB0aW9uKTtcbiAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gc3RlcHM7IHN0ZXAgKz0gMSkge1xuICAgIGNvbnN0IHF1ZXN0aW9uQW5kQW5zd2VyID0gZ2V0UGFpclF1ZXN0aW9uQW5kQW5zd2VyKCk7XG4gICAgY29uc3QgcXVlc3Rpb24gPSBnZXRRdWVzdGlvbihxdWVzdGlvbkFuZEFuc3dlcik7XG4gICAgY29uc29sZS5sb2coYFF1ZXN0aW9uOiAgJHtxdWVzdGlvbn1gKTtcbiAgICBjb25zdCBhbnN3ZXIgPSBnZXRBbnN3ZXIocXVlc3Rpb25BbmRBbnN3ZXIpO1xuICAgIGNvbnN0IHVzZXJBbnN3ZXIgPSByZWFkbGluZVN5bmMucXVlc3Rpb24oJ1lvdXIgYW5zd2VyOiAnKTtcbiAgICBpZiAoYW5zd2VyID09PSB1c2VyQW5zd2VyKSB7XG4gICAgICBjb25zb2xlLmxvZygnQ29ycmVjdCEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCR7dXNlckFuc3dlcn0gaXMgd3JvbmcgYW5zd2VyIDsoLiBDb3JyZWN0IGFuc3dlciB3YXMgJyR7YW5zd2VyfScuYCk7XG4gICAgICBjb25zb2xlLmxvZyhgTGV0J3MgdHJ5IGFnYWluLCAke3VzZXJOYW1lfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBjb25zb2xlLmxvZyhgQ29uZ3JhdHVsYXRpb25zLCAke3VzZXJOYW1lfWApO1xufTtcbmV4cG9ydCBkZWZhdWx0IGdhbWVGbG93O1xuIl19