UNPKG

uladzislau97-brain-games

Version:

Set of console mini-games.

52 lines (43 loc) 4.91 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 includedMinRandomIndex = 0; const excludedMaxRandomIndex = 3; const gameDescription = 'What is the result of the expression?'; const arithmeticSigns = ['+', '-', '*']; const arithmeticOperations = { '+': { perform: (firstNumber, secondNumber) => firstNumber + secondNumber }, '-': { perform: (firstNumber, secondNumber) => firstNumber - secondNumber }, '*': { perform: (firstNumber, secondNumber) => firstNumber * secondNumber } }; const generateRandomArithmeticSign = () => { const randomIndex = (0, _utils.default)(includedMinRandomIndex, excludedMaxRandomIndex); return arithmeticSigns[randomIndex]; }; const generateTask = () => { const firstNumber = (0, _utils.default)(); const secondNumber = (0, _utils.default)(); const sign = generateRandomArithmeticSign(); const question = `${firstNumber} ${sign} ${secondNumber}`; const correctAnswer = arithmeticOperations[sign].perform(firstNumber, secondNumber).toString(); return { question, correctAnswer }; }; var _default = () => { (0, _gameEngine.default)(gameDescription, generateTask); }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLmpzIl0sIm5hbWVzIjpbImluY2x1ZGVkTWluUmFuZG9tSW5kZXgiLCJleGNsdWRlZE1heFJhbmRvbUluZGV4IiwiZ2FtZURlc2NyaXB0aW9uIiwiYXJpdGhtZXRpY1NpZ25zIiwiYXJpdGhtZXRpY09wZXJhdGlvbnMiLCJwZXJmb3JtIiwiZmlyc3ROdW1iZXIiLCJzZWNvbmROdW1iZXIiLCJnZW5lcmF0ZVJhbmRvbUFyaXRobWV0aWNTaWduIiwicmFuZG9tSW5kZXgiLCJnZW5lcmF0ZVRhc2siLCJzaWduIiwicXVlc3Rpb24iLCJjb3JyZWN0QW5zd2VyIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLHNCQUFzQixHQUFHLENBQS9CO0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsQ0FBL0I7QUFDQSxNQUFNQyxlQUFlLEdBQUcsdUNBQXhCO0FBRUEsTUFBTUMsZUFBZSxHQUFHLENBQUMsR0FBRCxFQUFNLEdBQU4sRUFBVyxHQUFYLENBQXhCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUc7QUFDM0IsT0FBSztBQUNIQyxJQUFBQSxPQUFPLEVBQUUsQ0FBQ0MsV0FBRCxFQUFjQyxZQUFkLEtBQStCRCxXQUFXLEdBQUdDO0FBRG5ELEdBRHNCO0FBSTNCLE9BQUs7QUFDSEYsSUFBQUEsT0FBTyxFQUFFLENBQUNDLFdBQUQsRUFBY0MsWUFBZCxLQUErQkQsV0FBVyxHQUFHQztBQURuRCxHQUpzQjtBQU8zQixPQUFLO0FBQ0hGLElBQUFBLE9BQU8sRUFBRSxDQUFDQyxXQUFELEVBQWNDLFlBQWQsS0FBK0JELFdBQVcsR0FBR0M7QUFEbkQ7QUFQc0IsQ0FBN0I7O0FBWUEsTUFBTUMsNEJBQTRCLEdBQUcsTUFBTTtBQUN6QyxRQUFNQyxXQUFXLEdBQUcsb0JBQ2xCVCxzQkFEa0IsRUFDTUMsc0JBRE4sQ0FBcEI7QUFHQSxTQUFPRSxlQUFlLENBQUNNLFdBQUQsQ0FBdEI7QUFDRCxDQUxEOztBQU9BLE1BQU1DLFlBQVksR0FBRyxNQUFNO0FBQ3pCLFFBQU1KLFdBQVcsR0FBRyxxQkFBcEI7QUFDQSxRQUFNQyxZQUFZLEdBQUcscUJBQXJCO0FBQ0EsUUFBTUksSUFBSSxHQUFHSCw0QkFBNEIsRUFBekM7QUFDQSxRQUFNSSxRQUFRLEdBQUksR0FBRU4sV0FBWSxJQUFHSyxJQUFLLElBQUdKLFlBQWEsRUFBeEQ7QUFDQSxRQUFNTSxhQUFhLEdBQUdULG9CQUFvQixDQUFDTyxJQUFELENBQXBCLENBQ25CTixPQURtQixDQUNYQyxXQURXLEVBQ0VDLFlBREYsRUFDZ0JPLFFBRGhCLEVBQXRCO0FBRUEsU0FBTztBQUFFRixJQUFBQSxRQUFGO0FBQVlDLElBQUFBO0FBQVosR0FBUDtBQUNELENBUkQ7O2VBVWUsTUFBTTtBQUNuQiwyQkFBUVgsZUFBUixFQUF5QlEsWUFBekI7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJ1bkdhbWUgZnJvbSAnLi4vZ2FtZS1lbmdpbmUnO1xuaW1wb3J0IGdlbmVyYXRlUmFuZG9tTnVtYmVyIGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgaW5jbHVkZWRNaW5SYW5kb21JbmRleCA9IDA7XG5jb25zdCBleGNsdWRlZE1heFJhbmRvbUluZGV4ID0gMztcbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdXaGF0IGlzIHRoZSByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24/JztcblxuY29uc3QgYXJpdGhtZXRpY1NpZ25zID0gWycrJywgJy0nLCAnKiddO1xuY29uc3QgYXJpdGhtZXRpY09wZXJhdGlvbnMgPSB7XG4gICcrJzoge1xuICAgIHBlcmZvcm06IChmaXJzdE51bWJlciwgc2Vjb25kTnVtYmVyKSA9PiBmaXJzdE51bWJlciArIHNlY29uZE51bWJlcixcbiAgfSxcbiAgJy0nOiB7XG4gICAgcGVyZm9ybTogKGZpcnN0TnVtYmVyLCBzZWNvbmROdW1iZXIpID0+IGZpcnN0TnVtYmVyIC0gc2Vjb25kTnVtYmVyLFxuICB9LFxuICAnKic6IHtcbiAgICBwZXJmb3JtOiAoZmlyc3ROdW1iZXIsIHNlY29uZE51bWJlcikgPT4gZmlyc3ROdW1iZXIgKiBzZWNvbmROdW1iZXIsXG4gIH0sXG59O1xuXG5jb25zdCBnZW5lcmF0ZVJhbmRvbUFyaXRobWV0aWNTaWduID0gKCkgPT4ge1xuICBjb25zdCByYW5kb21JbmRleCA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKFxuICAgIGluY2x1ZGVkTWluUmFuZG9tSW5kZXgsIGV4Y2x1ZGVkTWF4UmFuZG9tSW5kZXgsXG4gICk7XG4gIHJldHVybiBhcml0aG1ldGljU2lnbnNbcmFuZG9tSW5kZXhdO1xufTtcblxuY29uc3QgZ2VuZXJhdGVUYXNrID0gKCkgPT4ge1xuICBjb25zdCBmaXJzdE51bWJlciA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKCk7XG4gIGNvbnN0IHNlY29uZE51bWJlciA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKCk7XG4gIGNvbnN0IHNpZ24gPSBnZW5lcmF0ZVJhbmRvbUFyaXRobWV0aWNTaWduKCk7XG4gIGNvbnN0IHF1ZXN0aW9uID0gYCR7Zmlyc3ROdW1iZXJ9ICR7c2lnbn0gJHtzZWNvbmROdW1iZXJ9YDtcbiAgY29uc3QgY29ycmVjdEFuc3dlciA9IGFyaXRobWV0aWNPcGVyYXRpb25zW3NpZ25dXG4gICAgLnBlcmZvcm0oZmlyc3ROdW1iZXIsIHNlY29uZE51bWJlcikudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHsgcXVlc3Rpb24sIGNvcnJlY3RBbnN3ZXIgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcnVuR2FtZShnYW1lRGVzY3JpcHRpb24sIGdlbmVyYXRlVGFzayk7XG59O1xuIl19