2017-02-15 20 views
-3

Я довольно новичок в программировании, и я пытаюсь сделать математическую игру, в которой программа javaScript должна позволять пользователям вводить два числа и генерировать случайные математические операции (+, -, /, *) случайных . Я знаю, что я должен использовать math.random, чтобы сделать это, но я не уверен, где положить его в код или как его правильно использовать. Может ли кто-нибудь дать мне быстрый контроль над тем, как я это сделаю?Создание математической игры

Извините за неправильное объяснение. Я постараюсь быть более подробным в том, что я пытаюсь сделать. Это мой код до сих пор

var a = prompt("Enter a number"); 
var b = prompt("Enter a number"); 
var correctAnswer = Number(a) + Number(b); 
var user=AnswerNumber(prompt("What is " + a + " + " + b)); 
if(correctAnswer == userAnswer) { 
    alert("you are correct"); 
} else { 
    alert("you are NOT correct. The answer is " + correctAnswer); 
} 

Теперь я хочу, чтобы быть в состоянии сделать так, использование может ввести 2 числа, а программа генерирует случайные математические операции, такие как (+, -, *, /), я знаю, math.random может помочь в этом, но у меня возникли проблемы с пониманием того, как и где положить его в код.

+0

Использовать, если утверждения. Вы не предоставили достаточно подробностей, чтобы дать какие-либо другие предложения, хотя – user3080953

+0

'Front End Web Development, Университет Калгари' - первый день? –

+0

Это похоже на вопрос о домашнем задании. –

ответ

0

Во-первых, вам нужно будет хранить массив ваших возможных операторов т.е.

var operators = ['+', '-', '*', '/']

, то вы будете хотеть использовать Math.random, чтобы выбрать случайный индекс в этом массиве. Here is a good write-up of how to achieve random integers in a range (0 и десятая часть массива в этом случае).

как только вы выбрали случайный оператор можно использовать переключатель заявление, чтобы сделать что-то подходящее для этого оператора:

var operator = getRandomOperator() 
switch(operator){ 
    case: '+' 
     //do some adding 
     break; 
    case: '-' 
     //do some subtracting 
     break; 
    . 
    . 
    . 
} 

Это должно дать вам отправную точку!

0

Вы, вероятно, захотите использовать для этого HTML и JS. Действительно хороший ресурс для этого - W3schools. Вот пример того, как сделать свою игру:

<!DOCTYPE html> 
<html> 
<body> 

<button onclick="myFunction()">Try it</button> 

<p id="demo"></p> 

<script> 
function myFunction() { 
    var p = document.getElementById("demo") 
    var x = Math.floor((Math.random() * 100) + 1); 
    var numA = prompt("please enter your first number."); 
    var numB = prompt("please enter your next number."); 
    if (x < 25){ 
     var out = parseInt(numA) + parseInt(numB); 
     p.innerHTML = "+ \n " + x; 
    }else if (x > 25 && x < 50){ 
     var out = parseInt(numA)/parseInt(numB); 
     p.innerHTML = "/ \n " + x; 
    }else if (x > 50 && x < 75){ 
     var out = parseInt(numA) - parseInt(numB); 
     p.innerHTML = "- \n " + x; 
    }else{ 
     var out = parseInt(numA) * parseInt(numB); 
     p.innerHTML = "* \n " + x; 
    } 
    alert("What did I do? \n input: " + numA + "<operation>" + numB + "\n output: " + out); 
} 
</script> 

</body> 
</html> 
+0

Любая причина для этой строки 'if (x <50 && x <50) {'? – KiRa

+0

К сожалению, я скопировал и вставил другие строки, я исправлю это – pudility

0
enter code herevar a = prompt("Enter a number"); var b = prompt("Enter a number"); var randomNum = Math.floor((Math.random() * 4)+ 1); if (randomNum == 1){ var correctAnswer = Number(a) + Number(b); var userAnswer Number(prompt("What is " + a + " + " + b));} else if(randomNum == 2){ var correctAnswer = Number(a) - Number(b); var userAnswer = Number(prompt("What is " + a + " - " + b));} if (randomNum == 3) {var correctAnswer = Number(a) * Number(b); var userAnswer = Number(prompt("What is " + a + " * " + b));}else if(randomNum == 4){ var correctAnswer = Number(a)/Number(b); var userAnswer = Number(prompt("What is " + a + "/" + b));} if(correctAnswer == userAnswer) { alert("you are correct"); } else { alert("you are NOT correct. The answer is " + correctAnswer); } 

благодарит всех за вашу помощь, я сожалею, я не знаю, что было так много правил размещения так что в следующий раз, когда я удостоверюсь моим вопрос не такой. главное, с которыми я сталкивался, - это научиться использовать математический код, но я понял, это был мой последний код, и все получилось хорошо.