UNPKG

project-braingames-simply

Version:
84 lines (72 loc) 6.6 kB
'use strict'; 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