igbes-hexletproject-1
Version:
консольная игра brain-games
67 lines (50 loc) • 5.85 kB
JavaScript
;
var _ = _interopRequireDefault(require(".."));
var _readlineSync = _interopRequireDefault(require("readline-sync"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
console.log('Welcome to the Brain Games!');
console.log('Answer "yes" if number even otherwise answer "no".');
const userName = (0, _.default)();
console.log(`Hello, ${userName}!`);
const isEven = num => num % 2;
const randomInteger = () => {
const min = 1;
const max = 100;
const rand = min - 0.5 + Math.random() * (max - min + 1);
return Math.round(rand);
};
const boolAnswer = {
yes: true,
no: false
};
const failAnswer = {
yes: "'yes' is wrong answer ;(. Correct answer was 'no'.",
no: "'no' is wrong answer ;(. Correct answer was 'yes'."
};
const conversation = (number, func) => {
console.log('question: ', number);
const answer = _readlineSync.default.question('Your answer: '); // if (boolAnswer[answer] === func(number))
if (boolAnswer[answer] === Boolean(!func(number))) {
return 'Correct!';
}
return failAnswer[answer];
};
const getEven = n => {
const iter = count => {
if (count === 0) {
console.log(`Congratulations, ${userName}!`);
return;
}
const randomInt = randomInteger();
const result = conversation(randomInt, isEven);
console.log(result);
if (result === 'Correct!') {
iter(count - 1);
}
};
return iter(n);
};
const numSteps = 3;
getEven(numSteps);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vYnJhaW4tZXZlbi1uZXcuanMiXSwibmFtZXMiOlsiY29uc29sZSIsImxvZyIsInVzZXJOYW1lIiwiaXNFdmVuIiwibnVtIiwicmFuZG9tSW50ZWdlciIsIm1pbiIsIm1heCIsInJhbmQiLCJNYXRoIiwicmFuZG9tIiwicm91bmQiLCJib29sQW5zd2VyIiwieWVzIiwibm8iLCJmYWlsQW5zd2VyIiwiY29udmVyc2F0aW9uIiwibnVtYmVyIiwiZnVuYyIsImFuc3dlciIsInJlYWRsaW5lU3luYyIsInF1ZXN0aW9uIiwiQm9vbGVhbiIsImdldEV2ZW4iLCJuIiwiaXRlciIsImNvdW50IiwicmFuZG9tSW50IiwicmVzdWx0IiwibnVtU3RlcHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFFQTs7QUFDQTs7OztBQUVBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSw2QkFBWjtBQUNBRCxPQUFPLENBQUNDLEdBQVIsQ0FBWSxvREFBWjtBQUVBLE1BQU1DLFFBQVEsR0FBRyxnQkFBakI7QUFDQUYsT0FBTyxDQUFDQyxHQUFSLENBQWEsVUFBU0MsUUFBUyxHQUEvQjs7QUFDQSxNQUFNQyxNQUFNLEdBQUdDLEdBQUcsSUFBSUEsR0FBRyxHQUFHLENBQTVCOztBQUVBLE1BQU1DLGFBQWEsR0FBRyxNQUFNO0FBQzFCLFFBQU1DLEdBQUcsR0FBRyxDQUFaO0FBQ0EsUUFBTUMsR0FBRyxHQUFHLEdBQVo7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLEdBQUcsR0FBRyxHQUFOLEdBQVlHLElBQUksQ0FBQ0MsTUFBTCxNQUFpQkgsR0FBRyxHQUFHRCxHQUFOLEdBQVksQ0FBN0IsQ0FBekI7QUFDQSxTQUFPRyxJQUFJLENBQUNFLEtBQUwsQ0FBV0gsSUFBWCxDQUFQO0FBQ0QsQ0FMRDs7QUFPQSxNQUFNSSxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLEdBQUcsRUFBRSxJQURZO0FBRWpCQyxFQUFBQSxFQUFFLEVBQUU7QUFGYSxDQUFuQjtBQUtBLE1BQU1DLFVBQVUsR0FBRztBQUNqQkYsRUFBQUEsR0FBRyxFQUFFLG9EQURZO0FBRWpCQyxFQUFBQSxFQUFFLEVBQUU7QUFGYSxDQUFuQjs7QUFLQSxNQUFNRSxZQUFZLEdBQUcsQ0FBQ0MsTUFBRCxFQUFTQyxJQUFULEtBQWtCO0FBQ3JDbEIsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksWUFBWixFQUEwQmdCLE1BQTFCOztBQUNBLFFBQU1FLE1BQU0sR0FBR0Msc0JBQWFDLFFBQWIsQ0FBc0IsZUFBdEIsQ0FBZixDQUZxQyxDQUdyQzs7O0FBQ0EsTUFBSVQsVUFBVSxDQUFDTyxNQUFELENBQVYsS0FBdUJHLE9BQU8sQ0FBQyxDQUFDSixJQUFJLENBQUNELE1BQUQsQ0FBTixDQUFsQyxFQUFtRDtBQUNqRCxXQUFPLFVBQVA7QUFDRDs7QUFDRCxTQUFPRixVQUFVLENBQUNJLE1BQUQsQ0FBakI7QUFDRCxDQVJEOztBQVVBLE1BQU1JLE9BQU8sR0FBSUMsQ0FBRCxJQUFPO0FBQ3JCLFFBQU1DLElBQUksR0FBSUMsS0FBRCxJQUFXO0FBQ3RCLFFBQUlBLEtBQUssS0FBSyxDQUFkLEVBQWlCO0FBQ2YxQixNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxvQkFBbUJDLFFBQVMsR0FBekM7QUFDQTtBQUNEOztBQUNELFVBQU15QixTQUFTLEdBQUd0QixhQUFhLEVBQS9CO0FBQ0EsVUFBTXVCLE1BQU0sR0FBR1osWUFBWSxDQUFDVyxTQUFELEVBQVl4QixNQUFaLENBQTNCO0FBQ0FILElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZMkIsTUFBWjs7QUFDQSxRQUFJQSxNQUFNLEtBQUssVUFBZixFQUEyQjtBQUN6QkgsTUFBQUEsSUFBSSxDQUFDQyxLQUFLLEdBQUcsQ0FBVCxDQUFKO0FBQ0Q7QUFDRixHQVhEOztBQVlBLFNBQU9ELElBQUksQ0FBQ0QsQ0FBRCxDQUFYO0FBQ0QsQ0FkRDs7QUFnQkEsTUFBTUssUUFBUSxHQUFHLENBQWpCO0FBQ0FOLE9BQU8sQ0FBQ00sUUFBRCxDQUFQIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgZ3JlZXRpbmcgZnJvbSAnLi4nO1xuaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcblxuY29uc29sZS5sb2coJ1dlbGNvbWUgdG8gdGhlIEJyYWluIEdhbWVzIScpO1xuY29uc29sZS5sb2coJ0Fuc3dlciBcInllc1wiIGlmIG51bWJlciBldmVuIG90aGVyd2lzZSBhbnN3ZXIgXCJub1wiLicpO1xuXG5jb25zdCB1c2VyTmFtZSA9IGdyZWV0aW5nKCk7XG5jb25zb2xlLmxvZyhgSGVsbG8sICR7dXNlck5hbWV9IWApO1xuY29uc3QgaXNFdmVuID0gbnVtID0+IG51bSAlIDI7XG5cbmNvbnN0IHJhbmRvbUludGVnZXIgPSAoKSA9PiB7XG4gIGNvbnN0IG1pbiA9IDE7XG4gIGNvbnN0IG1heCA9IDEwMDtcbiAgY29uc3QgcmFuZCA9IG1pbiAtIDAuNSArIE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSk7XG4gIHJldHVybiBNYXRoLnJvdW5kKHJhbmQpO1xufTtcblxuY29uc3QgYm9vbEFuc3dlciA9IHtcbiAgeWVzOiB0cnVlLFxuICBubzogZmFsc2UsXG59O1xuXG5jb25zdCBmYWlsQW5zd2VyID0ge1xuICB5ZXM6IFwiJ3llcycgaXMgd3JvbmcgYW5zd2VyIDsoLiBDb3JyZWN0IGFuc3dlciB3YXMgJ25vJy5cIixcbiAgbm86IFwiJ25vJyBpcyB3cm9uZyBhbnN3ZXIgOyguIENvcnJlY3QgYW5zd2VyIHdhcyAneWVzJy5cIixcbn07XG5cbmNvbnN0IGNvbnZlcnNhdGlvbiA9IChudW1iZXIsIGZ1bmMpID0+IHtcbiAgY29uc29sZS5sb2coJ3F1ZXN0aW9uOiAnLCBudW1iZXIpO1xuICBjb25zdCBhbnN3ZXIgPSByZWFkbGluZVN5bmMucXVlc3Rpb24oJ1lvdXIgYW5zd2VyOiAnKTtcbiAgLy8gaWYgKGJvb2xBbnN3ZXJbYW5zd2VyXSA9PT0gZnVuYyhudW1iZXIpKVxuICBpZiAoYm9vbEFuc3dlclthbnN3ZXJdID09PSBCb29sZWFuKCFmdW5jKG51bWJlcikpKSB7XG4gICAgcmV0dXJuICdDb3JyZWN0ISc7XG4gIH1cbiAgcmV0dXJuIGZhaWxBbnN3ZXJbYW5zd2VyXTtcbn07XG5cbmNvbnN0IGdldEV2ZW4gPSAobikgPT4ge1xuICBjb25zdCBpdGVyID0gKGNvdW50KSA9PiB7XG4gICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICBjb25zb2xlLmxvZyhgQ29uZ3JhdHVsYXRpb25zLCAke3VzZXJOYW1lfSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmFuZG9tSW50ID0gcmFuZG9tSW50ZWdlcigpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnNhdGlvbihyYW5kb21JbnQsIGlzRXZlbik7XG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcbiAgICBpZiAocmVzdWx0ID09PSAnQ29ycmVjdCEnKSB7XG4gICAgICBpdGVyKGNvdW50IC0gMSk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gaXRlcihuKTtcbn07XG5cbmNvbnN0IG51bVN0ZXBzID0gMztcbmdldEV2ZW4obnVtU3RlcHMpO1xuIl19