循环内输入

问题描述:

因此,对于我的JavaScript作业,我必须制作一个游戏,用户有5次尝试猜测1-10之间的数字。我的主要问题是,每次我尝试运行这个(未完成)时,它只会要求我输入一次。显然,我不能把输入内循环?我也试过这个。有任何想法吗?循环内输入

var ans = Math.floor(Math.random() * 10)+1 
    var tries = 6 
    while(tries > 0) 
     { 
     var guess = prompt("") 
     tries-- 
     } 
console.log("Better luck next time") 
+3

无法重现 – Oriol

+5

@Oriol https://xkcd.com/583/ –

+1

我看其他的问题,就像你从来没有真正使用猜想,看看他们是否得到了正确的答案。但提示实际上是按照广告的方式工作。请参阅:https://repl.it/DcJo – P1xt

似乎也在经历就好在这里循环...

JSFiddle

var ans = Math.floor(Math.random() * 10) + 1 
var tries = 6 
while(tries > 0) 
{ 
    var guess = prompt("") 
    tries-- 
} 
console.log("Better luck next time") 
+1

问题在哪里,你回答 –

+1

没有 - 我指出原始海报的代码已经按照他或她的要求工作。操作程序声明它只需要输入一次 - 否则小提琴会显示。如果有问题,则不在OP发布的代码中。 – user6790086

+0

这不提供问题的答案。一旦你有足够的[声誉](http://*.com/help/whats-reputation),你将能够[评论任何职位](http://*.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/13712701) –

尝试与循环

var ans = Math.floor(Math.random() * 10)+1 
 
    
 
    for(var tries=5; tries > 0 ;tries--) 
 
     { 
 
     var guess = prompt("") 
 
     alert("user enter input 5 times"); 
 
     } 
 
console.log("Better luck next time")

+0

在此处查看https://repl.it/DcJo/1 –

+0

这看起来像OP的'while'循环。 “for”不会奇迹般地解决(不存在的)问题。 – Oriol

+0

@Oriol是的,但可能OP的浏览器不支持它 –

你的代码没有问题,它工作正常!只是尝试在另一个浏览器中使用它。如果您的浏览器有问题,请重置您的浏览器。这是您的问题的解决方案代码。不要担心您的代码在我的浏览器上运行良好。

<!DOCTYPE HTML> 
<html> 
    <body> 
     <script> 
      var ans = 2//Math.floor(Math.random() * 10)+1 
       var tries = 6 
       while(tries > 0) 
        { 
        var guess = prompt("") 
        if(guess == ans){ 
         console.log("You Win"); 
         break 
        } 
        tries-- 
        if(tries==0){ 
         console.log("Better luck next time")  
        } 
        } 

     </script> 
    </body> 
</html>