javascript - 为什么这种情况不能正常工作?

标签 javascript

我必须制作一个数字猜谜游戏,您可以尝试 3 次来猜测 1 到 5 之间的数字。每次猜错之后,它都会显示您还剩下多少次尝试。当您猜对时,您会收到一条祝贺信息。当您的猜测用完时,您会收到一条消息。但是,当您用完所有猜测时,我无法收到消息。为什么不运行?

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var attempt =  prompt(tries+" tries remaining. Enter your guess.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    while (tries>=2){
        if(attempt!=randomnumber){
            tries--;
            prompt("Wrong! You have " + tries + " left ");
        }
        else if(tries<1){
            alert("You have no tries left");
        }
        else {
            alert("Congratulations! You guessed the correct number");
            return;
        }
    }
</script>

最佳答案

只有在尝试次数超过 2 次或恰好 2 次时,您才会进入循环。否则你的 if 语句不会被执行。您可能必须将 if 与 while 分开。

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var attempt =  prompt(tries+" tries remaining. Enter your guess.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    while (tries-1 > 0){
        if(attempt!=randomnumber){
            tries--;
            prompt("Wrong! You have " + tries + " left ");
        }
        else {
            alert("Congratulations! You guessed the correct number");
            return;
        }
    }
    alert("You have no tries left");
</script>

关于javascript - 为什么这种情况不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362428/

相关文章:

javascript - AngularJS 中向 Controller 注入(inject)服务失败

javascript - 通过函数分配和回调理解这段 jQuery 代码

javascript - 使用路由将 JSON 从一个组件发送到另一个组件而不显示在 URL 上?

javascript - 如何使用Kendo DataSource和模板显示一键嵌套的数据?

javascript - 目标平稳跟随

javascript - 屏蔽元素以成为链接的最佳方法是什么?

Javascript 验证不允许使用句点/小数点

c# - 从 Javascript 调用 Web 服务(传递参数和返回数据集)

javascript - 如果ajax成功则关闭对话框

带有电子邮件地址和密码的 Javascript 数组