project-braingames-simply
Version:
brain-games project
84 lines (72 loc) • 6.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _ = require('..');
var gameDescription = 'What is the result of the expression?';
var expressionType = ['add', 'substract', 'multiply'];
var expressionTypeLength = expressionType.length - 1;
var add = function add(a, b) {
return a + b;
};
var substract = function substract(a, b) {
return a - b;
};
var multiply = function multiply(a, b) {
return a * b;
};
var getExpression = function getExpression(typeNumber, a, b) {
var expResult = '';
switch (typeNumber) {
case 0:
expResult = a + ' + ' + b;
break;
case 1:
expResult = a + ' - ' + b;
break;
case 2:
expResult = a + ' * ' + b;
break;
default:
break;
}
return expResult;
};
var getExpressionResult = function getExpressionResult(expression) {
var expList = expression.split(' ');
var a = Number(expList[0]);
var b = Number(expList[2]);
var exp = expList[1];
var result = void 0;
switch (exp) {
case '+':
result = add(a, b);
break;
case '-':
result = substract(a, b);
break;
case '*':
result = multiply(a, b);
break;
default:
break;
}
return result;
};
var gameQuestion = function gameQuestion(getRandom) {
var a = getRandom();
var b = getRandom();
var expType = getRandom(0, expressionTypeLength);
return getExpression(expType, a, b);
};
var gameAnswer = function gameAnswer(questionData) {
return getExpressionResult(questionData);
};
var getGameData = function getGameData() {
return (0, _.makeGameData)(gameQuestion, gameAnswer);
};
var calcGame = function calcGame() {
return (0, _.runGame)(getGameData, gameDescription);
};
exports.default = calcGame;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjR2FtZS5qcyJdLCJuYW1lcyI6WyJnYW1lRGVzY3JpcHRpb24iLCJleHByZXNzaW9uVHlwZSIsImV4cHJlc3Npb25UeXBlTGVuZ3RoIiwibGVuZ3RoIiwiYWRkIiwiYSIsImIiLCJzdWJzdHJhY3QiLCJtdWx0aXBseSIsImdldEV4cHJlc3Npb24iLCJ0eXBlTnVtYmVyIiwiZXhwUmVzdWx0IiwiZ2V0RXhwcmVzc2lvblJlc3VsdCIsImV4cHJlc3Npb24iLCJleHBMaXN0Iiwic3BsaXQiLCJOdW1iZXIiLCJleHAiLCJyZXN1bHQiLCJnYW1lUXVlc3Rpb24iLCJnZXRSYW5kb20iLCJleHBUeXBlIiwiZ2FtZUFuc3dlciIsInF1ZXN0aW9uRGF0YSIsImdldEdhbWVEYXRhIiwiY2FsY0dhbWUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBLElBQU1BLGtCQUFrQix1Q0FBeEI7O0FBRUEsSUFBTUMsaUJBQWlCLENBQUMsS0FBRCxFQUFRLFdBQVIsRUFBcUIsVUFBckIsQ0FBdkI7QUFDQSxJQUFNQyx1QkFBdUJELGVBQWVFLE1BQWYsR0FBd0IsQ0FBckQ7O0FBRUEsSUFBTUMsTUFBTSxTQUFOQSxHQUFNLENBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFNBQVVELElBQUlDLENBQWQ7QUFBQSxDQUFaO0FBQ0EsSUFBTUMsWUFBWSxTQUFaQSxTQUFZLENBQUNGLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFNBQVVELElBQUlDLENBQWQ7QUFBQSxDQUFsQjtBQUNBLElBQU1FLFdBQVcsU0FBWEEsUUFBVyxDQUFDSCxDQUFELEVBQUlDLENBQUo7QUFBQSxTQUFVRCxJQUFJQyxDQUFkO0FBQUEsQ0FBakI7O0FBRUEsSUFBTUcsZ0JBQWdCLFNBQWhCQSxhQUFnQixDQUFDQyxVQUFELEVBQWFMLENBQWIsRUFBZ0JDLENBQWhCLEVBQXNCO0FBQzFDLE1BQUlLLFlBQVksRUFBaEI7QUFDQSxVQUFRRCxVQUFSO0FBQ0UsU0FBSyxDQUFMO0FBQ0VDLGtCQUFlTixDQUFmLFdBQXNCQyxDQUF0QjtBQUNBO0FBQ0YsU0FBSyxDQUFMO0FBQ0VLLGtCQUFlTixDQUFmLFdBQXNCQyxDQUF0QjtBQUNBO0FBQ0YsU0FBSyxDQUFMO0FBQ0VLLGtCQUFlTixDQUFmLFdBQXNCQyxDQUF0QjtBQUNBO0FBQ0Y7QUFDRTtBQVhKO0FBYUEsU0FBT0ssU0FBUDtBQUNELENBaEJEOztBQWtCQSxJQUFNQyxzQkFBc0IsU0FBdEJBLG1CQUFzQixDQUFDQyxVQUFELEVBQWdCO0FBQzFDLE1BQU1DLFVBQVVELFdBQVdFLEtBQVgsQ0FBaUIsR0FBakIsQ0FBaEI7QUFDQSxNQUFNVixJQUFJVyxPQUFPRixRQUFRLENBQVIsQ0FBUCxDQUFWO0FBQ0EsTUFBTVIsSUFBSVUsT0FBT0YsUUFBUSxDQUFSLENBQVAsQ0FBVjtBQUNBLE1BQU1HLE1BQU1ILFFBQVEsQ0FBUixDQUFaO0FBQ0EsTUFBSUksZUFBSjtBQUNBLFVBQVFELEdBQVI7QUFDRSxTQUFLLEdBQUw7QUFDRUMsZUFBU2QsSUFBSUMsQ0FBSixFQUFPQyxDQUFQLENBQVQ7QUFDQTtBQUNGLFNBQUssR0FBTDtBQUNFWSxlQUFTWCxVQUFVRixDQUFWLEVBQWFDLENBQWIsQ0FBVDtBQUNBO0FBQ0YsU0FBSyxHQUFMO0FBQ0VZLGVBQVNWLFNBQVNILENBQVQsRUFBWUMsQ0FBWixDQUFUO0FBQ0E7QUFDRjtBQUNFO0FBWEo7QUFhQSxTQUFPWSxNQUFQO0FBQ0QsQ0FwQkQ7O0FBc0JBLElBQU1DLGVBQWUsU0FBZkEsWUFBZSxDQUFDQyxTQUFELEVBQWU7QUFDbEMsTUFBTWYsSUFBSWUsV0FBVjtBQUNBLE1BQU1kLElBQUljLFdBQVY7QUFDQSxNQUFNQyxVQUFVRCxVQUFVLENBQVYsRUFBYWxCLG9CQUFiLENBQWhCO0FBQ0EsU0FBT08sY0FBY1ksT0FBZCxFQUF1QmhCLENBQXZCLEVBQTBCQyxDQUExQixDQUFQO0FBQ0QsQ0FMRDs7QUFPQSxJQUFNZ0IsYUFBYSxTQUFiQSxVQUFhO0FBQUEsU0FBZ0JWLG9CQUFvQlcsWUFBcEIsQ0FBaEI7QUFBQSxDQUFuQjs7QUFFQSxJQUFNQyxjQUFjLFNBQWRBLFdBQWM7QUFBQSxTQUFNLG9CQUFhTCxZQUFiLEVBQTJCRyxVQUEzQixDQUFOO0FBQUEsQ0FBcEI7O0FBRUEsSUFBTUcsV0FBVyxTQUFYQSxRQUFXO0FBQUEsU0FBTSxlQUFRRCxXQUFSLEVBQXFCeEIsZUFBckIsQ0FBTjtBQUFBLENBQWpCOztrQkFFZXlCLFEiLCJmaWxlIjoiY2FsY0dhbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBydW5HYW1lLCBtYWtlR2FtZURhdGEgfSBmcm9tICcuLic7XG5cbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdXaGF0IGlzIHRoZSByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24/JztcblxuY29uc3QgZXhwcmVzc2lvblR5cGUgPSBbJ2FkZCcsICdzdWJzdHJhY3QnLCAnbXVsdGlwbHknXTtcbmNvbnN0IGV4cHJlc3Npb25UeXBlTGVuZ3RoID0gZXhwcmVzc2lvblR5cGUubGVuZ3RoIC0gMTtcblxuY29uc3QgYWRkID0gKGEsIGIpID0+IGEgKyBiO1xuY29uc3Qgc3Vic3RyYWN0ID0gKGEsIGIpID0+IGEgLSBiO1xuY29uc3QgbXVsdGlwbHkgPSAoYSwgYikgPT4gYSAqIGI7XG5cbmNvbnN0IGdldEV4cHJlc3Npb24gPSAodHlwZU51bWJlciwgYSwgYikgPT4ge1xuICBsZXQgZXhwUmVzdWx0ID0gJyc7XG4gIHN3aXRjaCAodHlwZU51bWJlcikge1xuICAgIGNhc2UgMDpcbiAgICAgIGV4cFJlc3VsdCA9IGAke2F9ICsgJHtifWA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDE6XG4gICAgICBleHBSZXN1bHQgPSBgJHthfSAtICR7Yn1gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAyOlxuICAgICAgZXhwUmVzdWx0ID0gYCR7YX0gKiAke2J9YDtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gZXhwUmVzdWx0O1xufTtcblxuY29uc3QgZ2V0RXhwcmVzc2lvblJlc3VsdCA9IChleHByZXNzaW9uKSA9PiB7XG4gIGNvbnN0IGV4cExpc3QgPSBleHByZXNzaW9uLnNwbGl0KCcgJyk7XG4gIGNvbnN0IGEgPSBOdW1iZXIoZXhwTGlzdFswXSk7XG4gIGNvbnN0IGIgPSBOdW1iZXIoZXhwTGlzdFsyXSk7XG4gIGNvbnN0IGV4cCA9IGV4cExpc3RbMV07XG4gIGxldCByZXN1bHQ7XG4gIHN3aXRjaCAoZXhwKSB7XG4gICAgY2FzZSAnKyc6XG4gICAgICByZXN1bHQgPSBhZGQoYSwgYik7XG4gICAgICBicmVhaztcbiAgICBjYXNlICctJzpcbiAgICAgIHJlc3VsdCA9IHN1YnN0cmFjdChhLCBiKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJyonOlxuICAgICAgcmVzdWx0ID0gbXVsdGlwbHkoYSwgYik7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IGdhbWVRdWVzdGlvbiA9IChnZXRSYW5kb20pID0+IHtcbiAgY29uc3QgYSA9IGdldFJhbmRvbSgpO1xuICBjb25zdCBiID0gZ2V0UmFuZG9tKCk7XG4gIGNvbnN0IGV4cFR5cGUgPSBnZXRSYW5kb20oMCwgZXhwcmVzc2lvblR5cGVMZW5ndGgpO1xuICByZXR1cm4gZ2V0RXhwcmVzc2lvbihleHBUeXBlLCBhLCBiKTtcbn07XG5cbmNvbnN0IGdhbWVBbnN3ZXIgPSBxdWVzdGlvbkRhdGEgPT4gZ2V0RXhwcmVzc2lvblJlc3VsdChxdWVzdGlvbkRhdGEpO1xuXG5jb25zdCBnZXRHYW1lRGF0YSA9ICgpID0+IG1ha2VHYW1lRGF0YShnYW1lUXVlc3Rpb24sIGdhbWVBbnN3ZXIpO1xuXG5jb25zdCBjYWxjR2FtZSA9ICgpID0+IHJ1bkdhbWUoZ2V0R2FtZURhdGEsIGdhbWVEZXNjcmlwdGlvbik7XG5cbmV4cG9ydCBkZWZhdWx0IGNhbGNHYW1lO1xuIl19