brain_games_ermo4enkov
Version:
First project on Hexlet educational platform
62 lines (50 loc) • 7.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _readlineSync = require('readline-sync');
var _readlineSync2 = _interopRequireDefault(_readlineSync);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getRandomNumber = function getRandomNumber() {
var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
return (Math.random() * (max - min + min)).toFixed(0);
};
var isNumberEven = function isNumberEven(number) {
return number % 2 === 0;
};
var checkAnswer = function checkAnswer(answer, number) {
return isNumberEven(number) && answer === 'yes' || !isNumberEven(number) && answer === 'no';
};
var switchAnswer = function switchAnswer(number) {
return isNumberEven(number) ? 'yes' : 'no';
};
var greetings = 'Welcome to the Brain Games!\nAnswer ' + _chalk2.default.hex('#d14')('"yes"') + ' if ' + _chalk2.default.hex('#0086b3')('number') + ' even otherwise answer ' + _chalk2.default.hex('#d14')('"no"') + '.\n';
var findOutNumber = function findOutNumber(userName) {
var count = 0;
while (count < 3) {
var number = getRandomNumber();
console.log('Question: ' + number);
var answer = _readlineSync2.default.question(_chalk2.default.hex('#d14')('Your') + ' answer: ').toLowerCase();
if (checkAnswer(answer, number)) {
count += 1;
console.log('' + _chalk2.default.hex('#d14')('Correct!'));
} else {
console.log('\'' + _chalk2.default.hex('#990073')(answer) + '\' is wrong answer ;(. Correct answer was \'' + _chalk2.default.hex('#990073')(switchAnswer(number)) + '\'');
console.log('Let\'s try again, ' + userName + '!');
return false;
}
}
console.log('' + _chalk2.default.hex('#d14')('Congratulations,', userName, '!'));
return true;
};
var evenOrNoGame = function evenOrNoGame() {
console.log('' + greetings);
var userName = _readlineSync2.default.question('May I have your ' + _chalk2.default.hex('#0086b3')('name') + '? ');
console.log('Hello, ' + _chalk2.default.hex('#0086b3')(userName) + '\n');
findOutNumber(userName);
};
exports.default = evenOrNoGame;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVuLmpzIl0sIm5hbWVzIjpbImdldFJhbmRvbU51bWJlciIsIm1pbiIsIm1heCIsIk1hdGgiLCJyYW5kb20iLCJ0b0ZpeGVkIiwiaXNOdW1iZXJFdmVuIiwibnVtYmVyIiwiY2hlY2tBbnN3ZXIiLCJhbnN3ZXIiLCJzd2l0Y2hBbnN3ZXIiLCJncmVldGluZ3MiLCJoZXgiLCJmaW5kT3V0TnVtYmVyIiwidXNlck5hbWUiLCJjb3VudCIsImNvbnNvbGUiLCJsb2ciLCJxdWVzdGlvbiIsInRvTG93ZXJDYXNlIiwiZXZlbk9yTm9HYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsU0FBbEJBLGVBQWtCO0FBQUEsTUFBQ0MsR0FBRCx1RUFBTyxDQUFQO0FBQUEsTUFBVUMsR0FBVix1RUFBZ0IsR0FBaEI7QUFBQSxTQUF3QixDQUFDQyxLQUFLQyxNQUFMLE1BQWtCRixNQUFNRCxHQUFQLEdBQWNBLEdBQS9CLENBQUQsRUFBc0NJLE9BQXRDLENBQThDLENBQTlDLENBQXhCO0FBQUEsQ0FBeEI7QUFDQSxJQUFNQyxlQUFlLFNBQWZBLFlBQWU7QUFBQSxTQUFVQyxTQUFTLENBQVQsS0FBZSxDQUF6QjtBQUFBLENBQXJCO0FBQ0EsSUFBTUMsY0FBYyxTQUFkQSxXQUFjLENBQUNDLE1BQUQsRUFBU0YsTUFBVDtBQUFBLFNBQXFCRCxhQUFhQyxNQUFiLEtBQXdCRSxXQUFXLEtBQXBDLElBQStDLENBQUNILGFBQWFDLE1BQWIsQ0FBRCxJQUF5QkUsV0FBVyxJQUF2RztBQUFBLENBQXBCO0FBQ0EsSUFBTUMsZUFBZ0IsU0FBaEJBLFlBQWdCO0FBQUEsU0FBV0osYUFBYUMsTUFBYixJQUF1QixLQUF2QixHQUErQixJQUExQztBQUFBLENBQXRCOztBQUVBLElBQU1JLHFEQUFtRCxnQkFBTUMsR0FBTixDQUFVLE1BQVYsRUFBa0IsT0FBbEIsQ0FBbkQsWUFBb0YsZ0JBQU1BLEdBQU4sQ0FBVSxTQUFWLEVBQXFCLFFBQXJCLENBQXBGLCtCQUE0SSxnQkFBTUEsR0FBTixDQUFVLE1BQVYsRUFBa0IsTUFBbEIsQ0FBNUksUUFBTjs7QUFFQSxJQUFNQyxnQkFBZ0IsU0FBaEJBLGFBQWdCLENBQUNDLFFBQUQsRUFBYztBQUNsQyxNQUFJQyxRQUFRLENBQVo7QUFDQSxTQUFPQSxRQUFRLENBQWYsRUFBa0I7QUFDaEIsUUFBTVIsU0FBU1AsaUJBQWY7QUFDQWdCLFlBQVFDLEdBQVIsZ0JBQXlCVixNQUF6QjtBQUNBLFFBQU1FLFNBQVMsdUJBQWFTLFFBQWIsQ0FBeUIsZ0JBQU1OLEdBQU4sQ0FBVSxNQUFWLEVBQWtCLE1BQWxCLENBQXpCLGdCQUErRE8sV0FBL0QsRUFBZjtBQUNBLFFBQUlYLFlBQVlDLE1BQVosRUFBb0JGLE1BQXBCLENBQUosRUFBaUM7QUFDL0JRLGVBQVMsQ0FBVDtBQUNBQyxjQUFRQyxHQUFSLE1BQWUsZ0JBQU1MLEdBQU4sQ0FBVSxNQUFWLEVBQWtCLFVBQWxCLENBQWY7QUFDRCxLQUhELE1BR087QUFDTEksY0FBUUMsR0FBUixRQUFnQixnQkFBTUwsR0FBTixDQUFVLFNBQVYsRUFBcUJILE1BQXJCLENBQWhCLG9EQUF5RixnQkFBTUcsR0FBTixDQUFVLFNBQVYsRUFBcUJGLGFBQWFILE1BQWIsQ0FBckIsQ0FBekY7QUFDQVMsY0FBUUMsR0FBUix3QkFBZ0NILFFBQWhDO0FBQ0EsYUFBTyxLQUFQO0FBQ0Q7QUFDRjs7QUFFREUsVUFBUUMsR0FBUixNQUFlLGdCQUFNTCxHQUFOLENBQVUsTUFBVixFQUFrQixrQkFBbEIsRUFBc0NFLFFBQXRDLEVBQWdELEdBQWhELENBQWY7QUFDQSxTQUFPLElBQVA7QUFDRCxDQWxCRDs7QUFvQkEsSUFBTU0sZUFBZSxTQUFmQSxZQUFlLEdBQU07QUFDekJKLFVBQVFDLEdBQVIsTUFBZU4sU0FBZjtBQUNBLE1BQU1HLFdBQVcsdUJBQWFJLFFBQWIsc0JBQXlDLGdCQUFNTixHQUFOLENBQVUsU0FBVixFQUFxQixNQUFyQixDQUF6QyxRQUFqQjtBQUNBSSxVQUFRQyxHQUFSLGFBQXNCLGdCQUFNTCxHQUFOLENBQVUsU0FBVixFQUFxQkUsUUFBckIsQ0FBdEI7QUFDQUQsZ0JBQWNDLFFBQWQ7QUFDRCxDQUxEOztrQkFPZU0sWSIsImZpbGUiOiJldmVuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlYWRsaW5lU3luYyBmcm9tICdyZWFkbGluZS1zeW5jJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5cbmNvbnN0IGdldFJhbmRvbU51bWJlciA9IChtaW4gPSAxLCBtYXggPSAxMDApID0+IChNYXRoLnJhbmRvbSgpICogKChtYXggLSBtaW4pICsgbWluKSkudG9GaXhlZCgwKTtcbmNvbnN0IGlzTnVtYmVyRXZlbiA9IG51bWJlciA9PiBudW1iZXIgJSAyID09PSAwO1xuY29uc3QgY2hlY2tBbnN3ZXIgPSAoYW5zd2VyLCBudW1iZXIpID0+IChpc051bWJlckV2ZW4obnVtYmVyKSAmJiBhbnN3ZXIgPT09ICd5ZXMnKSB8fCAoIWlzTnVtYmVyRXZlbihudW1iZXIpICYmIGFuc3dlciA9PT0gJ25vJyk7XG5jb25zdCBzd2l0Y2hBbnN3ZXIgPSAobnVtYmVyID0+IChpc051bWJlckV2ZW4obnVtYmVyKSA/ICd5ZXMnIDogJ25vJykpO1xuXG5jb25zdCBncmVldGluZ3MgPSBgV2VsY29tZSB0byB0aGUgQnJhaW4gR2FtZXMhXFxuQW5zd2VyICR7Y2hhbGsuaGV4KCcjZDE0JykoJ1wieWVzXCInKX0gaWYgJHtjaGFsay5oZXgoJyMwMDg2YjMnKSgnbnVtYmVyJyl9IGV2ZW4gb3RoZXJ3aXNlIGFuc3dlciAke2NoYWxrLmhleCgnI2QxNCcpKCdcIm5vXCInKX0uXFxuYDtcblxuY29uc3QgZmluZE91dE51bWJlciA9ICh1c2VyTmFtZSkgPT4ge1xuICBsZXQgY291bnQgPSAwO1xuICB3aGlsZSAoY291bnQgPCAzKSB7XG4gICAgY29uc3QgbnVtYmVyID0gZ2V0UmFuZG9tTnVtYmVyKCk7XG4gICAgY29uc29sZS5sb2coYFF1ZXN0aW9uOiAke251bWJlcn1gKTtcbiAgICBjb25zdCBhbnN3ZXIgPSByZWFkbGluZVN5bmMucXVlc3Rpb24oYCR7Y2hhbGsuaGV4KCcjZDE0JykoJ1lvdXInKX0gYW5zd2VyOiBgKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChjaGVja0Fuc3dlcihhbnN3ZXIsIG51bWJlcikpIHtcbiAgICAgIGNvdW50ICs9IDE7XG4gICAgICBjb25zb2xlLmxvZyhgJHtjaGFsay5oZXgoJyNkMTQnKSgnQ29ycmVjdCEnKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCcke2NoYWxrLmhleCgnIzk5MDA3MycpKGFuc3dlcil9JyBpcyB3cm9uZyBhbnN3ZXIgOyguIENvcnJlY3QgYW5zd2VyIHdhcyAnJHtjaGFsay5oZXgoJyM5OTAwNzMnKShzd2l0Y2hBbnN3ZXIobnVtYmVyKSl9J2ApO1xuICAgICAgY29uc29sZS5sb2coYExldCdzIHRyeSBhZ2FpbiwgJHt1c2VyTmFtZX0hYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5sb2coYCR7Y2hhbGsuaGV4KCcjZDE0JykoJ0NvbmdyYXR1bGF0aW9ucywnLCB1c2VyTmFtZSwgJyEnKX1gKTtcbiAgcmV0dXJuIHRydWU7XG59O1xuXG5jb25zdCBldmVuT3JOb0dhbWUgPSAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKGAke2dyZWV0aW5nc31gKTtcbiAgY29uc3QgdXNlck5hbWUgPSByZWFkbGluZVN5bmMucXVlc3Rpb24oYE1heSBJIGhhdmUgeW91ciAke2NoYWxrLmhleCgnIzAwODZiMycpKCduYW1lJyl9PyBgKTtcbiAgY29uc29sZS5sb2coYEhlbGxvLCAke2NoYWxrLmhleCgnIzAwODZiMycpKHVzZXJOYW1lKX1cXG5gKTtcbiAgZmluZE91dE51bWJlcih1c2VyTmFtZSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBldmVuT3JOb0dhbWU7XG4iXX0=