brain-games-by-botirk
Version:
game developed for hexlet.io education course
55 lines (39 loc) • 4.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.playGame = exports.congratulate = exports.questionNameAndSayHello = exports.sayWelcome = void 0;
var _readlineSync = _interopRequireDefault(require("readline-sync"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const sayWelcome = () => {
console.log('\nWelcome to the Brain Games!');
};
exports.sayWelcome = sayWelcome;
const questionNameAndSayHello = () => {
const name = _readlineSync.default.question('\nMay I have your name? ');
console.log(`\nHello, ${name}`);
return name;
};
exports.questionNameAndSayHello = questionNameAndSayHello;
const congratulate = name => console.log(`\nCongratulations, ${name}!`);
exports.congratulate = congratulate;
const correctGamesCount = 3;
const playGame = (instruction, generator) => {
sayWelcome();
const name = questionNameAndSayHello();
console.log(`\n${instruction}`);
for (let i = 0; i < correctGamesCount;) {
const [question, answer] = generator();
const userAnswer = _readlineSync.default.question(`\nQuestion: ${question}\nYour answer: `);
if (userAnswer === answer) {
console.log('Correct!');
i += 1;
} else {
console.log(`'${userAnswer}' is wrong answer ;(. Correct answer was '${answer}'`);
return;
}
}
congratulate(name);
};
exports.playGame = playGame;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJzYXlXZWxjb21lIiwiY29uc29sZSIsImxvZyIsInF1ZXN0aW9uTmFtZUFuZFNheUhlbGxvIiwibmFtZSIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwiY29uZ3JhdHVsYXRlIiwiY29ycmVjdEdhbWVzQ291bnQiLCJwbGF5R2FtZSIsImluc3RydWN0aW9uIiwiZ2VuZXJhdG9yIiwiaSIsImFuc3dlciIsInVzZXJBbnN3ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVPLE1BQU1BLFVBQVUsR0FBRyxNQUFNO0FBQzlCQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSwrQkFBWjtBQUNELENBRk07Ozs7QUFJQSxNQUFNQyx1QkFBdUIsR0FBRyxNQUFNO0FBQzNDLFFBQU1DLElBQUksR0FBR0Msc0JBQWFDLFFBQWIsQ0FBc0IsMEJBQXRCLENBQWI7O0FBQ0FMLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLFlBQVdFLElBQUssRUFBN0I7QUFDQSxTQUFPQSxJQUFQO0FBQ0QsQ0FKTTs7OztBQU1BLE1BQU1HLFlBQVksR0FBR0gsSUFBSSxJQUFJSCxPQUFPLENBQUNDLEdBQVIsQ0FBYSxzQkFBcUJFLElBQUssR0FBdkMsQ0FBN0I7OztBQUVQLE1BQU1JLGlCQUFpQixHQUFHLENBQTFCOztBQUNPLE1BQU1DLFFBQVEsR0FBRyxDQUFDQyxXQUFELEVBQWNDLFNBQWQsS0FBNEI7QUFDbERYLEVBQUFBLFVBQVU7QUFDVixRQUFNSSxJQUFJLEdBQUdELHVCQUF1QixFQUFwQztBQUNBRixFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxLQUFJUSxXQUFZLEVBQTdCOztBQUNBLE9BQUssSUFBSUUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0osaUJBQXBCLEdBQXdDO0FBQ3RDLFVBQU0sQ0FBQ0YsUUFBRCxFQUFXTyxNQUFYLElBQXFCRixTQUFTLEVBQXBDOztBQUNBLFVBQU1HLFVBQVUsR0FBR1Qsc0JBQWFDLFFBQWIsQ0FBdUIsZUFBY0EsUUFBUyxpQkFBOUMsQ0FBbkI7O0FBQ0EsUUFBSVEsVUFBVSxLQUFLRCxNQUFuQixFQUEyQjtBQUN6QlosTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksVUFBWjtBQUNBVSxNQUFBQSxDQUFDLElBQUksQ0FBTDtBQUNELEtBSEQsTUFHTztBQUNMWCxNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxJQUFHWSxVQUFXLDZDQUE0Q0QsTUFBTyxHQUE5RTtBQUNBO0FBQ0Q7QUFDRjs7QUFDRE4sRUFBQUEsWUFBWSxDQUFDSCxJQUFELENBQVo7QUFDRCxDQWhCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByZWFkbGluZVN5bmMgZnJvbSAncmVhZGxpbmUtc3luYyc7XG5cbmV4cG9ydCBjb25zdCBzYXlXZWxjb21lID0gKCkgPT4ge1xuICBjb25zb2xlLmxvZygnXFxuV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhJyk7XG59O1xuXG5leHBvcnQgY29uc3QgcXVlc3Rpb25OYW1lQW5kU2F5SGVsbG8gPSAoKSA9PiB7XG4gIGNvbnN0IG5hbWUgPSByZWFkbGluZVN5bmMucXVlc3Rpb24oJ1xcbk1heSBJIGhhdmUgeW91ciBuYW1lPyAnKTtcbiAgY29uc29sZS5sb2coYFxcbkhlbGxvLCAke25hbWV9YCk7XG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbmdyYXR1bGF0ZSA9IG5hbWUgPT4gY29uc29sZS5sb2coYFxcbkNvbmdyYXR1bGF0aW9ucywgJHtuYW1lfSFgKTtcblxuY29uc3QgY29ycmVjdEdhbWVzQ291bnQgPSAzO1xuZXhwb3J0IGNvbnN0IHBsYXlHYW1lID0gKGluc3RydWN0aW9uLCBnZW5lcmF0b3IpID0+IHtcbiAgc2F5V2VsY29tZSgpO1xuICBjb25zdCBuYW1lID0gcXVlc3Rpb25OYW1lQW5kU2F5SGVsbG8oKTtcbiAgY29uc29sZS5sb2coYFxcbiR7aW5zdHJ1Y3Rpb259YCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29ycmVjdEdhbWVzQ291bnQ7KSB7XG4gICAgY29uc3QgW3F1ZXN0aW9uLCBhbnN3ZXJdID0gZ2VuZXJhdG9yKCk7XG4gICAgY29uc3QgdXNlckFuc3dlciA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbihgXFxuUXVlc3Rpb246ICR7cXVlc3Rpb259XFxuWW91ciBhbnN3ZXI6IGApO1xuICAgIGlmICh1c2VyQW5zd2VyID09PSBhbnN3ZXIpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdDb3JyZWN0IScpO1xuICAgICAgaSArPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgJyR7dXNlckFuc3dlcn0nIGlzIHdyb25nIGFuc3dlciA7KC4gQ29ycmVjdCBhbnN3ZXIgd2FzICcke2Fuc3dlcn0nYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGNvbmdyYXR1bGF0ZShuYW1lKTtcbn07XG4iXX0=