UNPKG

project-braingames-simply

Version:
47 lines (37 loc) 4.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _ = require('..'); var gameDescription = 'Find the greatest common divisor of given numbers.'; var getGCD = function getGCD(a, b) { var maxNum = a > b ? a : b; var gcd = 1; for (var i = 1; i <= maxNum; i += 1) { if (a % i === 0 && b % i === 0) gcd = i; } return gcd; }; var getQuestionValues = function getQuestionValues(question) { return question.split(' '); }; var gameQuestion = function gameQuestion(getRandom) { var multiply = getRandom(1, 10); var a = getRandom(1, 10) * multiply; var b = getRandom(1, 10) * multiply; return a + ' ' + b; }; var gameAnswer = function gameAnswer(question) { var questionData = getQuestionValues(question); var a = Number(questionData[0]); var b = Number(questionData[1]); return getGCD(a, b); }; var getGameData = function getGameData() { return (0, _.makeGameData)(gameQuestion, gameAnswer); }; var gcdGame = function gcdGame() { return (0, _.runGame)(getGameData, gameDescription); }; exports.default = gcdGame; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nY2RHYW1lLmpzIl0sIm5hbWVzIjpbImdhbWVEZXNjcmlwdGlvbiIsImdldEdDRCIsImEiLCJiIiwibWF4TnVtIiwiZ2NkIiwiaSIsImdldFF1ZXN0aW9uVmFsdWVzIiwicXVlc3Rpb24iLCJzcGxpdCIsImdhbWVRdWVzdGlvbiIsImdldFJhbmRvbSIsIm11bHRpcGx5IiwiZ2FtZUFuc3dlciIsInF1ZXN0aW9uRGF0YSIsIk51bWJlciIsImdldEdhbWVEYXRhIiwiZ2NkR2FtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBRUEsSUFBTUEsa0JBQWtCLG9EQUF4Qjs7QUFFQSxJQUFNQyxTQUFTLFNBQVRBLE1BQVMsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEVBQVU7QUFDdkIsTUFBTUMsU0FBU0YsSUFBSUMsQ0FBSixHQUFRRCxDQUFSLEdBQVlDLENBQTNCO0FBQ0EsTUFBSUUsTUFBTSxDQUFWO0FBQ0EsT0FBSyxJQUFJQyxJQUFJLENBQWIsRUFBZ0JBLEtBQUtGLE1BQXJCLEVBQTZCRSxLQUFLLENBQWxDLEVBQXFDO0FBQ25DLFFBQUlKLElBQUlJLENBQUosS0FBVSxDQUFWLElBQWVILElBQUlHLENBQUosS0FBVSxDQUE3QixFQUFnQ0QsTUFBTUMsQ0FBTjtBQUNqQztBQUNELFNBQU9ELEdBQVA7QUFDRCxDQVBEOztBQVNBLElBQU1FLG9CQUFvQixTQUFwQkEsaUJBQW9CO0FBQUEsU0FBWUMsU0FBU0MsS0FBVCxDQUFlLEdBQWYsQ0FBWjtBQUFBLENBQTFCOztBQUVBLElBQU1DLGVBQWUsU0FBZkEsWUFBZSxDQUFDQyxTQUFELEVBQWU7QUFDbEMsTUFBTUMsV0FBV0QsVUFBVSxDQUFWLEVBQWEsRUFBYixDQUFqQjtBQUNBLE1BQU1ULElBQUlTLFVBQVUsQ0FBVixFQUFhLEVBQWIsSUFBbUJDLFFBQTdCO0FBQ0EsTUFBTVQsSUFBSVEsVUFBVSxDQUFWLEVBQWEsRUFBYixJQUFtQkMsUUFBN0I7QUFDQSxTQUFVVixDQUFWLFNBQWVDLENBQWY7QUFDRCxDQUxEOztBQU9BLElBQU1VLGFBQWEsU0FBYkEsVUFBYSxDQUFDTCxRQUFELEVBQWM7QUFDL0IsTUFBTU0sZUFBZVAsa0JBQWtCQyxRQUFsQixDQUFyQjtBQUNBLE1BQU1OLElBQUlhLE9BQU9ELGFBQWEsQ0FBYixDQUFQLENBQVY7QUFDQSxNQUFNWCxJQUFJWSxPQUFPRCxhQUFhLENBQWIsQ0FBUCxDQUFWO0FBQ0EsU0FBT2IsT0FBT0MsQ0FBUCxFQUFVQyxDQUFWLENBQVA7QUFDRCxDQUxEOztBQU9BLElBQU1hLGNBQWMsU0FBZEEsV0FBYztBQUFBLFNBQU0sb0JBQWFOLFlBQWIsRUFBMkJHLFVBQTNCLENBQU47QUFBQSxDQUFwQjs7QUFFQSxJQUFNSSxVQUFVLFNBQVZBLE9BQVU7QUFBQSxTQUFNLGVBQVFELFdBQVIsRUFBcUJoQixlQUFyQixDQUFOO0FBQUEsQ0FBaEI7O2tCQUVlaUIsTyIsImZpbGUiOiJnY2RHYW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcnVuR2FtZSwgbWFrZUdhbWVEYXRhIH0gZnJvbSAnLi4nO1xuXG5jb25zdCBnYW1lRGVzY3JpcHRpb24gPSAnRmluZCB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgZ2l2ZW4gbnVtYmVycy4nO1xuXG5jb25zdCBnZXRHQ0QgPSAoYSwgYikgPT4ge1xuICBjb25zdCBtYXhOdW0gPSBhID4gYiA/IGEgOiBiO1xuICBsZXQgZ2NkID0gMTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbWF4TnVtOyBpICs9IDEpIHtcbiAgICBpZiAoYSAlIGkgPT09IDAgJiYgYiAlIGkgPT09IDApIGdjZCA9IGk7XG4gIH1cbiAgcmV0dXJuIGdjZDtcbn07XG5cbmNvbnN0IGdldFF1ZXN0aW9uVmFsdWVzID0gcXVlc3Rpb24gPT4gcXVlc3Rpb24uc3BsaXQoJyAnKTtcblxuY29uc3QgZ2FtZVF1ZXN0aW9uID0gKGdldFJhbmRvbSkgPT4ge1xuICBjb25zdCBtdWx0aXBseSA9IGdldFJhbmRvbSgxLCAxMCk7XG4gIGNvbnN0IGEgPSBnZXRSYW5kb20oMSwgMTApICogbXVsdGlwbHk7XG4gIGNvbnN0IGIgPSBnZXRSYW5kb20oMSwgMTApICogbXVsdGlwbHk7XG4gIHJldHVybiBgJHthfSAke2J9YDtcbn07XG5cbmNvbnN0IGdhbWVBbnN3ZXIgPSAocXVlc3Rpb24pID0+IHtcbiAgY29uc3QgcXVlc3Rpb25EYXRhID0gZ2V0UXVlc3Rpb25WYWx1ZXMocXVlc3Rpb24pO1xuICBjb25zdCBhID0gTnVtYmVyKHF1ZXN0aW9uRGF0YVswXSk7XG4gIGNvbnN0IGIgPSBOdW1iZXIocXVlc3Rpb25EYXRhWzFdKTtcbiAgcmV0dXJuIGdldEdDRChhLCBiKTtcbn07XG5cbmNvbnN0IGdldEdhbWVEYXRhID0gKCkgPT4gbWFrZUdhbWVEYXRhKGdhbWVRdWVzdGlvbiwgZ2FtZUFuc3dlcik7XG5cbmNvbnN0IGdjZEdhbWUgPSAoKSA9PiBydW5HYW1lKGdldEdhbWVEYXRhLCBnYW1lRGVzY3JpcHRpb24pO1xuXG5leHBvcnQgZGVmYXVsdCBnY2RHYW1lO1xuIl19