uladzislau97-brain-games
Version:
Set of console mini-games.
42 lines (32 loc) • 5.41 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 gameDescription = 'What number is missing in the progression?';
const progressionLength = 10;
const includedMinRandomIndex = 0;
const includedMinRandomCommonDifference = 1;
const excludedMaxRandomCommonDifference = 11;
const generateSequence = (firstElement, commonDifference) => Array(progressionLength).fill(firstElement).map((element, index) => element + commonDifference * index);
const generateSequenceWithHiddenElement = (sequence, hiddenElementIndex) => [...sequence.slice(0, hiddenElementIndex), '..', ...sequence.slice(hiddenElementIndex + 1)];
const generateTask = () => {
const firstElement = (0, _utils.default)();
const commonDifference = (0, _utils.default)(includedMinRandomCommonDifference, excludedMaxRandomCommonDifference);
const sequence = generateSequence(firstElement, commonDifference);
const hiddenElementIndex = (0, _utils.default)(includedMinRandomIndex, progressionLength);
const correctAnswer = sequence[hiddenElementIndex].toString();
const question = generateSequenceWithHiddenElement(sequence, hiddenElementIndex).join(' ');
return {
question,
correctAnswer
};
};
var _default = () => {
(0, _gameEngine.default)(gameDescription, generateTask);
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJnYW1lRGVzY3JpcHRpb24iLCJwcm9ncmVzc2lvbkxlbmd0aCIsImluY2x1ZGVkTWluUmFuZG9tSW5kZXgiLCJpbmNsdWRlZE1pblJhbmRvbUNvbW1vbkRpZmZlcmVuY2UiLCJleGNsdWRlZE1heFJhbmRvbUNvbW1vbkRpZmZlcmVuY2UiLCJnZW5lcmF0ZVNlcXVlbmNlIiwiZmlyc3RFbGVtZW50IiwiY29tbW9uRGlmZmVyZW5jZSIsIkFycmF5IiwiZmlsbCIsIm1hcCIsImVsZW1lbnQiLCJpbmRleCIsImdlbmVyYXRlU2VxdWVuY2VXaXRoSGlkZGVuRWxlbWVudCIsInNlcXVlbmNlIiwiaGlkZGVuRWxlbWVudEluZGV4Iiwic2xpY2UiLCJnZW5lcmF0ZVRhc2siLCJjb3JyZWN0QW5zd2VyIiwidG9TdHJpbmciLCJxdWVzdGlvbiIsImpvaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLGVBQWUsR0FBRyw0Q0FBeEI7QUFFQSxNQUFNQyxpQkFBaUIsR0FBRyxFQUExQjtBQUNBLE1BQU1DLHNCQUFzQixHQUFHLENBQS9CO0FBQ0EsTUFBTUMsaUNBQWlDLEdBQUcsQ0FBMUM7QUFDQSxNQUFNQyxpQ0FBaUMsR0FBRyxFQUExQzs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxDQUFDQyxZQUFELEVBQWVDLGdCQUFmLEtBQW9DQyxLQUFLLENBQUNQLGlCQUFELENBQUwsQ0FDMURRLElBRDBELENBQ3JESCxZQURxRCxFQUN2Q0ksR0FEdUMsQ0FDbkMsQ0FBQ0MsT0FBRCxFQUFVQyxLQUFWLEtBQW9CRCxPQUFPLEdBQUdKLGdCQUFnQixHQUFHSyxLQURkLENBQTdEOztBQUdBLE1BQU1DLGlDQUFpQyxHQUFHLENBQUNDLFFBQUQsRUFBV0Msa0JBQVgsS0FBa0MsQ0FDMUUsR0FBR0QsUUFBUSxDQUFDRSxLQUFULENBQWUsQ0FBZixFQUFrQkQsa0JBQWxCLENBRHVFLEVBQ2hDLElBRGdDLEVBQzFCLEdBQUdELFFBQVEsQ0FBQ0UsS0FBVCxDQUFlRCxrQkFBa0IsR0FBRyxDQUFwQyxDQUR1QixDQUE1RTs7QUFJQSxNQUFNRSxZQUFZLEdBQUcsTUFBTTtBQUN6QixRQUFNWCxZQUFZLEdBQUcscUJBQXJCO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUcsb0JBQ3ZCSixpQ0FEdUIsRUFDWUMsaUNBRFosQ0FBekI7QUFHQSxRQUFNVSxRQUFRLEdBQUdULGdCQUFnQixDQUFDQyxZQUFELEVBQWVDLGdCQUFmLENBQWpDO0FBQ0EsUUFBTVEsa0JBQWtCLEdBQUcsb0JBQ3pCYixzQkFEeUIsRUFDREQsaUJBREMsQ0FBM0I7QUFHQSxRQUFNaUIsYUFBYSxHQUFHSixRQUFRLENBQUNDLGtCQUFELENBQVIsQ0FBNkJJLFFBQTdCLEVBQXRCO0FBQ0EsUUFBTUMsUUFBUSxHQUFHUCxpQ0FBaUMsQ0FBQ0MsUUFBRCxFQUFXQyxrQkFBWCxDQUFqQyxDQUFnRU0sSUFBaEUsQ0FBcUUsR0FBckUsQ0FBakI7QUFDQSxTQUFPO0FBQUVELElBQUFBLFFBQUY7QUFBWUYsSUFBQUE7QUFBWixHQUFQO0FBQ0QsQ0FaRDs7ZUFjZSxNQUFNO0FBQ25CLDJCQUFRbEIsZUFBUixFQUF5QmlCLFlBQXpCO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW5HYW1lIGZyb20gJy4uL2dhbWUtZW5naW5lJztcbmltcG9ydCBnZW5lcmF0ZVJhbmRvbU51bWJlciBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdXaGF0IG51bWJlciBpcyBtaXNzaW5nIGluIHRoZSBwcm9ncmVzc2lvbj8nO1xuXG5jb25zdCBwcm9ncmVzc2lvbkxlbmd0aCA9IDEwO1xuY29uc3QgaW5jbHVkZWRNaW5SYW5kb21JbmRleCA9IDA7XG5jb25zdCBpbmNsdWRlZE1pblJhbmRvbUNvbW1vbkRpZmZlcmVuY2UgPSAxO1xuY29uc3QgZXhjbHVkZWRNYXhSYW5kb21Db21tb25EaWZmZXJlbmNlID0gMTE7XG5cbmNvbnN0IGdlbmVyYXRlU2VxdWVuY2UgPSAoZmlyc3RFbGVtZW50LCBjb21tb25EaWZmZXJlbmNlKSA9PiBBcnJheShwcm9ncmVzc2lvbkxlbmd0aClcbiAgLmZpbGwoZmlyc3RFbGVtZW50KS5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PiBlbGVtZW50ICsgY29tbW9uRGlmZmVyZW5jZSAqIGluZGV4KTtcblxuY29uc3QgZ2VuZXJhdGVTZXF1ZW5jZVdpdGhIaWRkZW5FbGVtZW50ID0gKHNlcXVlbmNlLCBoaWRkZW5FbGVtZW50SW5kZXgpID0+IFtcbiAgLi4uc2VxdWVuY2Uuc2xpY2UoMCwgaGlkZGVuRWxlbWVudEluZGV4KSwgJy4uJywgLi4uc2VxdWVuY2Uuc2xpY2UoaGlkZGVuRWxlbWVudEluZGV4ICsgMSksXG5dO1xuXG5jb25zdCBnZW5lcmF0ZVRhc2sgPSAoKSA9PiB7XG4gIGNvbnN0IGZpcnN0RWxlbWVudCA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKCk7XG4gIGNvbnN0IGNvbW1vbkRpZmZlcmVuY2UgPSBnZW5lcmF0ZVJhbmRvbU51bWJlcihcbiAgICBpbmNsdWRlZE1pblJhbmRvbUNvbW1vbkRpZmZlcmVuY2UsIGV4Y2x1ZGVkTWF4UmFuZG9tQ29tbW9uRGlmZmVyZW5jZSxcbiAgKTtcbiAgY29uc3Qgc2VxdWVuY2UgPSBnZW5lcmF0ZVNlcXVlbmNlKGZpcnN0RWxlbWVudCwgY29tbW9uRGlmZmVyZW5jZSk7XG4gIGNvbnN0IGhpZGRlbkVsZW1lbnRJbmRleCA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKFxuICAgIGluY2x1ZGVkTWluUmFuZG9tSW5kZXgsIHByb2dyZXNzaW9uTGVuZ3RoLFxuICApO1xuICBjb25zdCBjb3JyZWN0QW5zd2VyID0gc2VxdWVuY2VbaGlkZGVuRWxlbWVudEluZGV4XS50b1N0cmluZygpO1xuICBjb25zdCBxdWVzdGlvbiA9IGdlbmVyYXRlU2VxdWVuY2VXaXRoSGlkZGVuRWxlbWVudChzZXF1ZW5jZSwgaGlkZGVuRWxlbWVudEluZGV4KS5qb2luKCcgJyk7XG4gIHJldHVybiB7IHF1ZXN0aW9uLCBjb3JyZWN0QW5zd2VyIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIHJ1bkdhbWUoZ2FtZURlc2NyaXB0aW9uLCBnZW5lcmF0ZVRhc2spO1xufTtcbiJdfQ==