anf-project-lvl1-braingames
Version:
Games with numbers
62 lines (47 loc) • 5.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _pairs = require("@hexlet/pairs");
var _index = require("../index");
const randomInt = () => Math.floor(Math.random() * (4 - 1)) + 1;
const helloWord = 'What is the result of the expression?.\n';
const expressGenerator = () => {
const pair = (0, _pairs.cons)((0, _index.randomNum)(), (0, _index.randomNum)());
const point = randomInt();
let operation = '';
if (point === 1) {
operation = '*';
} else if (point === 2) {
operation = '+';
} else operation = '-';
return `${(0, _pairs.car)(pair)} ${operation} ${(0, _pairs.cdr)(pair)}`;
};
const getRandCorrAns = express => {
let count = 0;
const arr = new Array(3);
arr[0] = '';
arr[1] = '';
arr[2] = '';
for (let i = 0; i < express.length; i += 1) {
if (express[i] === ' ') {
count += 1;
} else {
arr[count] += express[i];
}
}
if (arr[1] === '*') {
return (Number(arr[0]) * Number(arr[2])).toString();
}
if (arr[1] === '+') {
return (Number(arr[0]) + Number(arr[2])).toString();
}
return (Number(arr[0]) - Number(arr[2])).toString();
};
var _default = () => {
(0, _index.testAnswer)(helloWord, expressGenerator, _index.takeAnswer, getRandCorrAns);
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLWdhbWUuanMiXSwibmFtZXMiOlsicmFuZG9tSW50IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaGVsbG9Xb3JkIiwiZXhwcmVzc0dlbmVyYXRvciIsInBhaXIiLCJwb2ludCIsIm9wZXJhdGlvbiIsImdldFJhbmRDb3JyQW5zIiwiZXhwcmVzcyIsImNvdW50IiwiYXJyIiwiQXJyYXkiLCJpIiwibGVuZ3RoIiwiTnVtYmVyIiwidG9TdHJpbmciLCJ0YWtlQW5zd2VyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFFQSxNQUFNQSxTQUFTLEdBQUcsTUFBTUMsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsTUFBTCxNQUFpQixJQUFJLENBQXJCLENBQVgsSUFBc0MsQ0FBOUQ7O0FBRUEsTUFBTUMsU0FBUyxHQUFHLDBDQUFsQjs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxNQUFNO0FBQzdCLFFBQU1DLElBQUksR0FBRyxpQkFBSyx1QkFBTCxFQUFrQix1QkFBbEIsQ0FBYjtBQUNBLFFBQU1DLEtBQUssR0FBR1AsU0FBUyxFQUF2QjtBQUNBLE1BQUlRLFNBQVMsR0FBRyxFQUFoQjs7QUFDQSxNQUFJRCxLQUFLLEtBQUssQ0FBZCxFQUFpQjtBQUNmQyxJQUFBQSxTQUFTLEdBQUcsR0FBWjtBQUNELEdBRkQsTUFFTyxJQUFJRCxLQUFLLEtBQUssQ0FBZCxFQUFpQjtBQUN0QkMsSUFBQUEsU0FBUyxHQUFHLEdBQVo7QUFDRCxHQUZNLE1BRUFBLFNBQVMsR0FBRyxHQUFaOztBQUNQLFNBQVEsR0FBRSxnQkFBSUYsSUFBSixDQUFVLElBQUdFLFNBQVUsSUFBRyxnQkFBSUYsSUFBSixDQUFVLEVBQTlDO0FBQ0QsQ0FWRDs7QUFZQSxNQUFNRyxjQUFjLEdBQUlDLE9BQUQsSUFBYTtBQUNsQyxNQUFJQyxLQUFLLEdBQUcsQ0FBWjtBQUNBLFFBQU1DLEdBQUcsR0FBRyxJQUFJQyxLQUFKLENBQVUsQ0FBVixDQUFaO0FBQ0FELEVBQUFBLEdBQUcsQ0FBQyxDQUFELENBQUgsR0FBUyxFQUFUO0FBQ0FBLEVBQUFBLEdBQUcsQ0FBQyxDQUFELENBQUgsR0FBUyxFQUFUO0FBQ0FBLEVBQUFBLEdBQUcsQ0FBQyxDQUFELENBQUgsR0FBUyxFQUFUOztBQUNBLE9BQUssSUFBSUUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0osT0FBTyxDQUFDSyxNQUE1QixFQUFvQ0QsQ0FBQyxJQUFJLENBQXpDLEVBQTRDO0FBQzFDLFFBQUlKLE9BQU8sQ0FBQ0ksQ0FBRCxDQUFQLEtBQWUsR0FBbkIsRUFBd0I7QUFDdEJILE1BQUFBLEtBQUssSUFBSSxDQUFUO0FBQ0QsS0FGRCxNQUVPO0FBQUVDLE1BQUFBLEdBQUcsQ0FBQ0QsS0FBRCxDQUFILElBQWNELE9BQU8sQ0FBQ0ksQ0FBRCxDQUFyQjtBQUEyQjtBQUNyQzs7QUFDRCxNQUFJRixHQUFHLENBQUMsQ0FBRCxDQUFILEtBQVcsR0FBZixFQUFvQjtBQUNsQixXQUFPLENBQUNJLE1BQU0sQ0FBQ0osR0FBRyxDQUFDLENBQUQsQ0FBSixDQUFOLEdBQWlCSSxNQUFNLENBQUNKLEdBQUcsQ0FBQyxDQUFELENBQUosQ0FBeEIsRUFBa0NLLFFBQWxDLEVBQVA7QUFDRDs7QUFBQyxNQUFJTCxHQUFHLENBQUMsQ0FBRCxDQUFILEtBQVcsR0FBZixFQUFvQjtBQUNwQixXQUFPLENBQUNJLE1BQU0sQ0FBQ0osR0FBRyxDQUFDLENBQUQsQ0FBSixDQUFOLEdBQWlCSSxNQUFNLENBQUNKLEdBQUcsQ0FBQyxDQUFELENBQUosQ0FBeEIsRUFBa0NLLFFBQWxDLEVBQVA7QUFDRDs7QUFBQyxTQUFPLENBQUNELE1BQU0sQ0FBQ0osR0FBRyxDQUFDLENBQUQsQ0FBSixDQUFOLEdBQWlCSSxNQUFNLENBQUNKLEdBQUcsQ0FBQyxDQUFELENBQUosQ0FBeEIsRUFBa0NLLFFBQWxDLEVBQVA7QUFDSCxDQWhCRDs7ZUFrQmUsTUFBTTtBQUNuQix5QkFBV2IsU0FBWCxFQUFzQkMsZ0JBQXRCLEVBQXdDYSxpQkFBeEMsRUFBb0RULGNBQXBEO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IHsgY29ucywgY2FyLCBjZHIgfSBmcm9tICdAaGV4bGV0L3BhaXJzJztcbmltcG9ydCB7IHJhbmRvbU51bSwgdGFrZUFuc3dlciwgdGVzdEFuc3dlciB9IGZyb20gJy4uL2luZGV4JztcblxuY29uc3QgcmFuZG9tSW50ID0gKCkgPT4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQgLSAxKSkgKyAxO1xuXG5jb25zdCBoZWxsb1dvcmQgPSAnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uPy5cXG4nO1xuXG5jb25zdCBleHByZXNzR2VuZXJhdG9yID0gKCkgPT4ge1xuICBjb25zdCBwYWlyID0gY29ucyhyYW5kb21OdW0oKSwgcmFuZG9tTnVtKCkpO1xuICBjb25zdCBwb2ludCA9IHJhbmRvbUludCgpO1xuICBsZXQgb3BlcmF0aW9uID0gJyc7XG4gIGlmIChwb2ludCA9PT0gMSkge1xuICAgIG9wZXJhdGlvbiA9ICcqJztcbiAgfSBlbHNlIGlmIChwb2ludCA9PT0gMikge1xuICAgIG9wZXJhdGlvbiA9ICcrJztcbiAgfSBlbHNlIG9wZXJhdGlvbiA9ICctJztcbiAgcmV0dXJuIGAke2NhcihwYWlyKX0gJHtvcGVyYXRpb259ICR7Y2RyKHBhaXIpfWA7XG59O1xuXG5jb25zdCBnZXRSYW5kQ29yckFucyA9IChleHByZXNzKSA9PiB7XG4gIGxldCBjb3VudCA9IDA7XG4gIGNvbnN0IGFyciA9IG5ldyBBcnJheSgzKTtcbiAgYXJyWzBdID0gJyc7XG4gIGFyclsxXSA9ICcnO1xuICBhcnJbMl0gPSAnJztcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHByZXNzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKGV4cHJlc3NbaV0gPT09ICcgJykge1xuICAgICAgY291bnQgKz0gMTtcbiAgICB9IGVsc2UgeyBhcnJbY291bnRdICs9IGV4cHJlc3NbaV07IH1cbiAgfVxuICBpZiAoYXJyWzFdID09PSAnKicpIHtcbiAgICByZXR1cm4gKE51bWJlcihhcnJbMF0pICogTnVtYmVyKGFyclsyXSkpLnRvU3RyaW5nKCk7XG4gIH0gaWYgKGFyclsxXSA9PT0gJysnKSB7XG4gICAgcmV0dXJuIChOdW1iZXIoYXJyWzBdKSArIE51bWJlcihhcnJbMl0pKS50b1N0cmluZygpO1xuICB9IHJldHVybiAoTnVtYmVyKGFyclswXSkgLSBOdW1iZXIoYXJyWzJdKSkudG9TdHJpbmcoKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgdGVzdEFuc3dlcihoZWxsb1dvcmQsIGV4cHJlc3NHZW5lcmF0b3IsIHRha2VBbnN3ZXIsIGdldFJhbmRDb3JyQW5zKTtcbn07XG4iXX0=