project-braingames-simply
Version:
brain-games project
47 lines (37 loc) • 4.17 kB
JavaScript
;
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