Javascript 仅使用Math.random生成的第一个数字
我是一名学生,正在用JavaScript创建一个三猜游戏。我的游戏不能正常运行,我相信数学。random在游戏的每个阶段都会生成一个新的数字。如果有人帮我为变量Javascript 仅使用Math.random生成的第一个数字,javascript,Javascript,我是一名学生,正在用JavaScript创建一个三猜游戏。我的游戏不能正常运行,我相信数学。random在游戏的每个阶段都会生成一个新的数字。如果有人帮我为变量randomNumber定义一个数字,我将不胜感激 下面是JavaScript: function game() { var randomNumber = Math.floor(Math.random()*11); var userGuess = prompt ("Guess what number I'm thinki
randomNumber
定义一个数字,我将不胜感激
下面是JavaScript:
function game()
{
var randomNumber = Math.floor(Math.random()*11);
var userGuess = prompt ("Guess what number I'm thinking of? (It's between 0 & 10)");
if (userGuess === randomNumber)
{
alert ("Good Guess, you must be psychic!");
}
else
{
var userGuess2 = prompt ("Dohhh! You got it wrong. You have 2 more chances.");
}
if (userGuess2 === randomNumber)
{
alert ("Good Guess, you must be psychic!");
}
else
{
var userGuess3 = prompt ("Dohhh! You got it wrong. You have 1 more chance.");
}
if (userGuess3 === randomNumber)
{
alert ("Good Guess, you must be psychic!");
}
else
{
alert ("Bad luck. The number was: " + randomNumber);
}
}
prompt
返回一个字符串。您正在使用严格相等运算符,==
,将字符串与数字进行比较。他们永远不会平等
使用抽象相等运算符,=
,或在与严格相等运算符进行比较之前将字符串转换为数字
此外,您的函数应该在正确猜测后返回
,而不是提示更多猜测 这里有一个关于代码清理版本的建议:
function playGame(guesses)
{
// By default, give the player 3 guesses.
guesses = guesses || 3;
var randomNumber = Math.floor(Math.random()*11);
var userGuess = prompt("Guess what number I'm thinking of? (It's between 0 & 10)");
// Repeat the following logic whenever the user guesses incorrectly.
while (userGuess !== randomNumber.toString())
{
--guesses;
if (guesses === 0)
{
alert("Bad luck. The number was: " + randomNumber);
return false;
}
userGuess = prompt("Dohhh! You got it wrong. You have " + guesses + " more chance(s).");
}
alert("Good Guess, you must be psychic!");
return true;
}
请注意,它现在更灵活了(您可以给用户一个可配置的猜测次数),同时还减少了代码重复:不再重复相同的逻辑块(有微小的差异),实际上只有一点逻辑可以重复任意多次。Java与Javascript无关。标签已删除。一个标签供“始终使用严格平等”专家思考。:-)纳比特谢谢,达格·纳比特。现在可以了。你救了我,让我不会因为这个小障碍而发疯!没问题。我还建议对每个猜测重复使用userGuess
;没有理由对每个猜测使用单独的变量,因为你不需要旧的猜测。谢谢你,丹!语法非常优雅,虽然它包含了许多我在学习中没有遇到的元素,但我甚至都理解它。慷慨和优雅总是美丽的。。。谢谢