Я решил сделать математическую игру в JavaScript, и я очень знаком с JS. Я хочу, чтобы он выбирал случайную операцию из массива и оценивал ее с помощью двух случайных чисел, но он не работает. Любая помощь приветствуется. Благодаря!Как сделать JavaScript оценивать строку и многое другое
КОД:
var mathGame = function() {
var operators = ["+", "-", "*", "/"];
var operatorChoice = Math.floor((Math.random() * 4) + 1);
var points = 1;
var numberOfQuestions = prompt("How many questions would you like?");
var highestNumber = prompt("What is the highest number you would like to be quizzed on?");
for (var i = 0; i < numberOfQuestions; i++) {
var x = Math.floor((Math.random() * highestNumber) + 1);
var y = Math.floor((Math.random() * highestNumber) + 1);
var answer = (x operators[operatorChoice] y);
var user_answer = prompt(x + operators[operatorChoice] + y);
if (user_answer == answer) {
alert("Yes!");
points = points + 2;
} else {
if (points > 0) {
points = points - 2;
}
alert("Sorry, that was incorrect, the answer is " + answer);
}
}
alert("Your total points were " + points);
};
Вы можете использовать 'eval', если вы действительно хотите хранить операторы в виде строк. Лучшим подходом может быть создание массива функций и выбор функции (а не оператора) наугад. – fzzfzzfzz
Что именно «не работает»? Любая ошибка на консоли? – NemoStein