javascript - 运行代码时警报显示错误消息

标签 javascript

我正在关注 Teamtreehouse 上的 Javascript 轨迹,并尝试制作一款游戏。它要求用户猜测 1 到 6 之间的一个数字。用户可以猜测数字,输入较小的数字并获得另一次机会,输入较大的数字并获得另一次机会,或者根本不猜测。

var correctGuess = false;
    var randomNumber = Math.floor(Math.random() * 6) +1;
    var guess = prompt("I am thinking of a number between 1 and 6. What is it?");

    if (parseInt(guess) === randomNumber) {

        correctGuess = true;}

        else if (parseInt(guess) < randomNumber) {
            var guessMore = prompt("Try again! The value I am thinking of is lower than " + guess);
            if (parseInt(guessMore) === randomNumber ) { 
                correctGuess =true;}

        } else if (parseInt(guess) > randomNumber) {
            var guessLess = prompt("Try again! The number I am thinking of is smaller than " + guess);
            if (parseInt(guessLess) === randomNumber) {

                correctGuess = true; }
            }
        

        if ( correctGuess) {


            alert("Yey!");
        } else {
            alert("Better luck next time! The number was " + randomNumber);
        };

虽然代码对我来说似乎很好,但每隔 5 次(比方说)它就会显示一个异常(尽管用户猜到了数字,但它会运行 else 语句;或者它会要求您输入一个较小的数字,只是为了发现结果实际上是一个更大的数字等等)。你必须运行代码几次才能明白我的意思。我做错了什么?

最佳答案

所以你的问题是:

or it asks you for a smaller number only to find out that the result was in fact a bigger number etc)

这是因为您的条件语句中同时包含“低于”和“小于”。我把“低于”改为“大于”。

   else if (parseInt(guess) < randomNumber) {
            var guessMore = prompt(
            "Try again! The value I am thinking of is greater than " + guess);
            if (parseInt(guessMore) === randomNumber ) { 
                correctGuess =true;}
    } 
   else if (parseInt(guess) > randomNumber) {
            var guessLess = prompt(
            "Try again! The number I am thinking of is smaller than " + guess);
            if (parseInt(guessLess) === randomNumber) {

                correctGuess = true; }
            }

https://jsfiddle.net/7yhhfv6g/4/

关于javascript - 运行代码时警报显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108880/

相关文章:

javascript - fabricjs 路径的边界框偏移量

javascript - UTC 与 ISO 时间格式

javascript - 双面半透明纹理的问题

javascript - 如何给刚创建的元素添加事件?

javascript - 检查一个必须包含另一个字符串的字符串

javascript - 如何简化从数组中删除 jQuery

javascript - Vue 3 Google 登录用户身份验证在控制台中显示弃用警告

javascript - 触发事件时不打印图像

javascript - 排序嵌套数组

javascript - 如何在angularjs中创建模块