UNPKG

uladzislau97-brain-games

Version:

Set of console mini-games.

44 lines (33 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _gameEngine = _interopRequireDefault(require("../game-engine")); var _utils = _interopRequireDefault(require("../utils")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const gameDescription = 'Answer "yes" if given number is prime. Otherwise answer "no".'; const isPrime = number => { const minPrimeNumber = 2; if (number < minPrimeNumber) return false; const maxPossibleDivider = Math.floor(Math.sqrt(number)); const iter = n => { if (n > maxPossibleDivider) return true; if (number % n === 0) return false; return iter(n + 1); }; return iter(minPrimeNumber); }; const generateTask = () => { const question = (0, _utils.default)(); const correctAnswer = isPrime(question) ? 'yes' : 'no'; return { question, correctAnswer }; }; var _default = () => { (0, _gameEngine.default)(gameDescription, generateTask); }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcmltZS5qcyJdLCJuYW1lcyI6WyJnYW1lRGVzY3JpcHRpb24iLCJpc1ByaW1lIiwibnVtYmVyIiwibWluUHJpbWVOdW1iZXIiLCJtYXhQb3NzaWJsZURpdmlkZXIiLCJNYXRoIiwiZmxvb3IiLCJzcXJ0IiwiaXRlciIsIm4iLCJnZW5lcmF0ZVRhc2siLCJxdWVzdGlvbiIsImNvcnJlY3RBbnN3ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLGVBQWUsR0FBRywrREFBeEI7O0FBRUEsTUFBTUMsT0FBTyxHQUFJQyxNQUFELElBQVk7QUFDMUIsUUFBTUMsY0FBYyxHQUFHLENBQXZCO0FBRUEsTUFBSUQsTUFBTSxHQUFHQyxjQUFiLEVBQTZCLE9BQU8sS0FBUDtBQUU3QixRQUFNQyxrQkFBa0IsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsSUFBTCxDQUFVTCxNQUFWLENBQVgsQ0FBM0I7O0FBRUEsUUFBTU0sSUFBSSxHQUFJQyxDQUFELElBQU87QUFDbEIsUUFBSUEsQ0FBQyxHQUFHTCxrQkFBUixFQUE0QixPQUFPLElBQVA7QUFDNUIsUUFBSUYsTUFBTSxHQUFHTyxDQUFULEtBQWUsQ0FBbkIsRUFBc0IsT0FBTyxLQUFQO0FBQ3RCLFdBQU9ELElBQUksQ0FBQ0MsQ0FBQyxHQUFHLENBQUwsQ0FBWDtBQUNELEdBSkQ7O0FBTUEsU0FBT0QsSUFBSSxDQUFDTCxjQUFELENBQVg7QUFDRCxDQWREOztBQWdCQSxNQUFNTyxZQUFZLEdBQUcsTUFBTTtBQUN6QixRQUFNQyxRQUFRLEdBQUcscUJBQWpCO0FBQ0EsUUFBTUMsYUFBYSxHQUFHWCxPQUFPLENBQUNVLFFBQUQsQ0FBUCxHQUFvQixLQUFwQixHQUE0QixJQUFsRDtBQUNBLFNBQU87QUFBRUEsSUFBQUEsUUFBRjtBQUFZQyxJQUFBQTtBQUFaLEdBQVA7QUFDRCxDQUpEOztlQU1lLE1BQU07QUFDbkIsMkJBQVFaLGVBQVIsRUFBeUJVLFlBQXpCO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW5HYW1lIGZyb20gJy4uL2dhbWUtZW5naW5lJztcbmltcG9ydCBnZW5lcmF0ZVJhbmRvbU51bWJlciBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdBbnN3ZXIgXCJ5ZXNcIiBpZiBnaXZlbiBudW1iZXIgaXMgcHJpbWUuIE90aGVyd2lzZSBhbnN3ZXIgXCJub1wiLic7XG5cbmNvbnN0IGlzUHJpbWUgPSAobnVtYmVyKSA9PiB7XG4gIGNvbnN0IG1pblByaW1lTnVtYmVyID0gMjtcblxuICBpZiAobnVtYmVyIDwgbWluUHJpbWVOdW1iZXIpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBtYXhQb3NzaWJsZURpdmlkZXIgPSBNYXRoLmZsb29yKE1hdGguc3FydChudW1iZXIpKTtcblxuICBjb25zdCBpdGVyID0gKG4pID0+IHtcbiAgICBpZiAobiA+IG1heFBvc3NpYmxlRGl2aWRlcikgcmV0dXJuIHRydWU7XG4gICAgaWYgKG51bWJlciAlIG4gPT09IDApIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXRlcihuICsgMSk7XG4gIH07XG5cbiAgcmV0dXJuIGl0ZXIobWluUHJpbWVOdW1iZXIpO1xufTtcblxuY29uc3QgZ2VuZXJhdGVUYXNrID0gKCkgPT4ge1xuICBjb25zdCBxdWVzdGlvbiA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKCk7XG4gIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBpc1ByaW1lKHF1ZXN0aW9uKSA/ICd5ZXMnIDogJ25vJztcbiAgcmV0dXJuIHsgcXVlc3Rpb24sIGNvcnJlY3RBbnN3ZXIgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcnVuR2FtZShnYW1lRGVzY3JpcHRpb24sIGdlbmVyYXRlVGFzayk7XG59O1xuIl19