@nox_wave/hexlet-braingames
Version:
Brain Games. A set of mini-games.
48 lines (38 loc) • 4.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _readlineSync = require('readline-sync');
var _readlineSync2 = _interopRequireDefault(_readlineSync);
var _hexletPairs = require('hexlet-pairs');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var maxIterationCount = 3;
exports.default = function (_ref) {
var instruction = _ref.instruction,
getGameData = _ref.getGameData;
console.log('Welcome to the Brain Games!');
console.log(instruction);
console.log('');
var userName = _readlineSync2.default.question('May I have your name? ');
console.log('Hello, ' + userName + '!\n');
var gameIter = function gameIter(iterationCount) {
if (iterationCount === 0) {
console.log('Congratulations, ' + userName + '!');
return;
}
var gameData = getGameData();
var question = (0, _hexletPairs.car)(gameData);
var expectedAnswer = (0, _hexletPairs.cdr)(gameData);
console.log('Question: ' + question);
var answer = _readlineSync2.default.question('Your answer: ');
if (expectedAnswer === answer) {
console.log('Correct!');
gameIter(iterationCount - 1);
} else {
console.log('\'' + answer + '\' is is wrong answer ;(. Correct answer was \'' + expectedAnswer + '\'.');
console.log('Let\'s try again, ' + userName);
}
};
gameIter(maxIterationCount);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJtYXhJdGVyYXRpb25Db3VudCIsImluc3RydWN0aW9uIiwiZ2V0R2FtZURhdGEiLCJjb25zb2xlIiwibG9nIiwidXNlck5hbWUiLCJyZWFkbGluZVN5bmMiLCJxdWVzdGlvbiIsImdhbWVJdGVyIiwiaXRlcmF0aW9uQ291bnQiLCJnYW1lRGF0YSIsImV4cGVjdGVkQW5zd2VyIiwiYW5zd2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBRUEsSUFBTUEsb0JBQW9CLENBQTFCOztrQkFFZSxnQkFBa0M7QUFBQSxNQUEvQkMsV0FBK0IsUUFBL0JBLFdBQStCO0FBQUEsTUFBbEJDLFdBQWtCLFFBQWxCQSxXQUFrQjs7QUFDL0NDLFVBQVFDLEdBQVIsQ0FBWSw2QkFBWjtBQUNBRCxVQUFRQyxHQUFSLENBQVlILFdBQVo7QUFDQUUsVUFBUUMsR0FBUixDQUFZLEVBQVo7QUFDQSxNQUFNQyxXQUFXQyx1QkFBYUMsUUFBYixDQUFzQix3QkFBdEIsQ0FBakI7QUFDQUosVUFBUUMsR0FBUixhQUFzQkMsUUFBdEI7O0FBRUEsTUFBTUcsV0FBVyxTQUFYQSxRQUFXLENBQUNDLGNBQUQsRUFBb0I7QUFDbkMsUUFBSUEsbUJBQW1CLENBQXZCLEVBQTBCO0FBQ3hCTixjQUFRQyxHQUFSLHVCQUFnQ0MsUUFBaEM7QUFDQTtBQUNEOztBQUVELFFBQU1LLFdBQVdSLGFBQWpCO0FBQ0EsUUFBTUssV0FBVyxzQkFBSUcsUUFBSixDQUFqQjtBQUNBLFFBQU1DLGlCQUFpQixzQkFBSUQsUUFBSixDQUF2QjtBQUNBUCxZQUFRQyxHQUFSLGdCQUF5QkcsUUFBekI7QUFDQSxRQUFNSyxTQUFTTix1QkFBYUMsUUFBYixDQUFzQixlQUF0QixDQUFmO0FBQ0EsUUFBSUksbUJBQW1CQyxNQUF2QixFQUErQjtBQUM3QlQsY0FBUUMsR0FBUixDQUFZLFVBQVo7QUFDQUksZUFBU0MsaUJBQWlCLENBQTFCO0FBQ0QsS0FIRCxNQUdPO0FBQ0xOLGNBQVFDLEdBQVIsUUFBZ0JRLE1BQWhCLHVEQUFzRUQsY0FBdEU7QUFDQVIsY0FBUUMsR0FBUix3QkFBZ0NDLFFBQWhDO0FBQ0Q7QUFDRixHQWxCRDtBQW1CQUcsV0FBU1IsaUJBQVQ7QUFDRCxDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcbmltcG9ydCB7IGNhciwgY2RyIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcblxuY29uc3QgbWF4SXRlcmF0aW9uQ291bnQgPSAzO1xuXG5leHBvcnQgZGVmYXVsdCAoeyBpbnN0cnVjdGlvbiwgZ2V0R2FtZURhdGEgfSkgPT4ge1xuICBjb25zb2xlLmxvZygnV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhJyk7XG4gIGNvbnNvbGUubG9nKGluc3RydWN0aW9uKTtcbiAgY29uc29sZS5sb2coJycpO1xuICBjb25zdCB1c2VyTmFtZSA9IHJlYWRsaW5lU3luYy5xdWVzdGlvbignTWF5IEkgaGF2ZSB5b3VyIG5hbWU/ICcpO1xuICBjb25zb2xlLmxvZyhgSGVsbG8sICR7dXNlck5hbWV9IVxcbmApO1xuXG4gIGNvbnN0IGdhbWVJdGVyID0gKGl0ZXJhdGlvbkNvdW50KSA9PiB7XG4gICAgaWYgKGl0ZXJhdGlvbkNvdW50ID09PSAwKSB7XG4gICAgICBjb25zb2xlLmxvZyhgQ29uZ3JhdHVsYXRpb25zLCAke3VzZXJOYW1lfSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBnYW1lRGF0YSA9IGdldEdhbWVEYXRhKCk7XG4gICAgY29uc3QgcXVlc3Rpb24gPSBjYXIoZ2FtZURhdGEpO1xuICAgIGNvbnN0IGV4cGVjdGVkQW5zd2VyID0gY2RyKGdhbWVEYXRhKTtcbiAgICBjb25zb2xlLmxvZyhgUXVlc3Rpb246ICR7cXVlc3Rpb259YCk7XG4gICAgY29uc3QgYW5zd2VyID0gcmVhZGxpbmVTeW5jLnF1ZXN0aW9uKCdZb3VyIGFuc3dlcjogJyk7XG4gICAgaWYgKGV4cGVjdGVkQW5zd2VyID09PSBhbnN3ZXIpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdDb3JyZWN0IScpO1xuICAgICAgZ2FtZUl0ZXIoaXRlcmF0aW9uQ291bnQgLSAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCcke2Fuc3dlcn0nIGlzIGlzIHdyb25nIGFuc3dlciA7KC4gQ29ycmVjdCBhbnN3ZXIgd2FzICcke2V4cGVjdGVkQW5zd2VyfScuYCk7XG4gICAgICBjb25zb2xlLmxvZyhgTGV0J3MgdHJ5IGFnYWluLCAke3VzZXJOYW1lfWApO1xuICAgIH1cbiAgfTtcbiAgZ2FtZUl0ZXIobWF4SXRlcmF0aW9uQ291bnQpO1xufTtcbiJdfQ==