project-magzhan-brgms
Version:
This a brain-games project from Hexlet
54 lines (41 loc) • 4.57 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 getPlayerName = () => {
const name = _readlineSync.default.question('May I have your name? ');
console.log(`Hello, ${name}!`);
return name;
};
const getPlayerAnswer = () => {
const answer = _readlineSync.default.question('Your answer: ');
return answer;
};
const numOfTries = 3;
const engine = (taskExplanationMessage, gameData) => {
console.log('Welcome to the Brain Games!');
console.log(taskExplanationMessage);
const playerName = getPlayerName();
for (let currentTry = 1; currentTry <= numOfTries; currentTry += 1) {
const {
question,
rightAnswer
} = gameData();
console.log(`Question: ${question}`);
const playerAnswer = getPlayerAnswer();
if (playerAnswer === rightAnswer) {
console.log('Correct!');
} else {
console.log(`'${playerAnswer}' is wrong answer ;(, Correct answer was '${rightAnswer}'.`);
console.log(`Let's try again, ${playerName}!`);
return;
}
}
console.log(`Congratulations, ${playerName}!`);
};
var _default = engine;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXRQbGF5ZXJOYW1lIiwibmFtZSIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwiY29uc29sZSIsImxvZyIsImdldFBsYXllckFuc3dlciIsImFuc3dlciIsIm51bU9mVHJpZXMiLCJlbmdpbmUiLCJ0YXNrRXhwbGFuYXRpb25NZXNzYWdlIiwiZ2FtZURhdGEiLCJwbGF5ZXJOYW1lIiwiY3VycmVudFRyeSIsInJpZ2h0QW5zd2VyIiwicGxheWVyQW5zd2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsTUFBTTtBQUMxQixRQUFNQyxJQUFJLEdBQUdDLHNCQUFhQyxRQUFiLENBQXNCLHdCQUF0QixDQUFiOztBQUNBQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxVQUFTSixJQUFLLEdBQTNCO0FBQ0EsU0FBT0EsSUFBUDtBQUNELENBSkQ7O0FBTUEsTUFBTUssZUFBZSxHQUFHLE1BQU07QUFDNUIsUUFBTUMsTUFBTSxHQUFHTCxzQkFBYUMsUUFBYixDQUFzQixlQUF0QixDQUFmOztBQUNBLFNBQU9JLE1BQVA7QUFDRCxDQUhEOztBQUtBLE1BQU1DLFVBQVUsR0FBRyxDQUFuQjs7QUFFQSxNQUFNQyxNQUFNLEdBQUcsQ0FBQ0Msc0JBQUQsRUFBeUJDLFFBQXpCLEtBQXNDO0FBQ25EUCxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSw2QkFBWjtBQUNBRCxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUssc0JBQVo7QUFDQSxRQUFNRSxVQUFVLEdBQUdaLGFBQWEsRUFBaEM7O0FBRUEsT0FBSyxJQUFJYSxVQUFVLEdBQUcsQ0FBdEIsRUFBeUJBLFVBQVUsSUFBSUwsVUFBdkMsRUFBbURLLFVBQVUsSUFBSSxDQUFqRSxFQUFvRTtBQUNsRSxVQUFNO0FBQUVWLE1BQUFBLFFBQUY7QUFBWVcsTUFBQUE7QUFBWixRQUE0QkgsUUFBUSxFQUExQztBQUNBUCxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxhQUFZRixRQUFTLEVBQWxDO0FBQ0EsVUFBTVksWUFBWSxHQUFHVCxlQUFlLEVBQXBDOztBQUVBLFFBQUlTLFlBQVksS0FBS0QsV0FBckIsRUFBa0M7QUFDaENWLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLFVBQVo7QUFDRCxLQUZELE1BRU87QUFDTEQsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsSUFBR1UsWUFBYSw2Q0FBNENELFdBQVksSUFBckY7QUFDQVYsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQWEsb0JBQW1CTyxVQUFXLEdBQTNDO0FBQ0E7QUFDRDtBQUNGOztBQUNEUixFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxvQkFBbUJPLFVBQVcsR0FBM0M7QUFDRCxDQW5CRDs7ZUFxQmVILE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVhZGxpbmVTeW5jIGZyb20gJ3JlYWRsaW5lLXN5bmMnO1xuXG5jb25zdCBnZXRQbGF5ZXJOYW1lID0gKCkgPT4ge1xuICBjb25zdCBuYW1lID0gcmVhZGxpbmVTeW5jLnF1ZXN0aW9uKCdNYXkgSSBoYXZlIHlvdXIgbmFtZT8gJyk7XG4gIGNvbnNvbGUubG9nKGBIZWxsbywgJHtuYW1lfSFgKTtcbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5jb25zdCBnZXRQbGF5ZXJBbnN3ZXIgPSAoKSA9PiB7XG4gIGNvbnN0IGFuc3dlciA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignWW91ciBhbnN3ZXI6ICcpO1xuICByZXR1cm4gYW5zd2VyO1xufTtcblxuY29uc3QgbnVtT2ZUcmllcyA9IDM7XG5cbmNvbnN0IGVuZ2luZSA9ICh0YXNrRXhwbGFuYXRpb25NZXNzYWdlLCBnYW1lRGF0YSkgPT4ge1xuICBjb25zb2xlLmxvZygnV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhJyk7XG4gIGNvbnNvbGUubG9nKHRhc2tFeHBsYW5hdGlvbk1lc3NhZ2UpO1xuICBjb25zdCBwbGF5ZXJOYW1lID0gZ2V0UGxheWVyTmFtZSgpO1xuXG4gIGZvciAobGV0IGN1cnJlbnRUcnkgPSAxOyBjdXJyZW50VHJ5IDw9IG51bU9mVHJpZXM7IGN1cnJlbnRUcnkgKz0gMSkge1xuICAgIGNvbnN0IHsgcXVlc3Rpb24sIHJpZ2h0QW5zd2VyIH0gPSBnYW1lRGF0YSgpO1xuICAgIGNvbnNvbGUubG9nKGBRdWVzdGlvbjogJHtxdWVzdGlvbn1gKTtcbiAgICBjb25zdCBwbGF5ZXJBbnN3ZXIgPSBnZXRQbGF5ZXJBbnN3ZXIoKTtcblxuICAgIGlmIChwbGF5ZXJBbnN3ZXIgPT09IHJpZ2h0QW5zd2VyKSB7XG4gICAgICBjb25zb2xlLmxvZygnQ29ycmVjdCEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCcke3BsYXllckFuc3dlcn0nIGlzIHdyb25nIGFuc3dlciA7KCwgQ29ycmVjdCBhbnN3ZXIgd2FzICcke3JpZ2h0QW5zd2VyfScuYCk7XG4gICAgICBjb25zb2xlLmxvZyhgTGV0J3MgdHJ5IGFnYWluLCAke3BsYXllck5hbWV9IWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBjb25zb2xlLmxvZyhgQ29uZ3JhdHVsYXRpb25zLCAke3BsYXllck5hbWV9IWApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZW5naW5lO1xuIl19