uladzislau97-brain-games
Version:
Set of console mini-games.
52 lines (43 loc) • 4.91 kB
JavaScript
;
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