Javascript 猜颜色游戏出错时不会循环

Javascript 猜颜色游戏出错时不会循环,javascript,Javascript,这里的问题是:每次我运行这段代码时,它都工作得很好,但当它出错并且我找不到问题时,不会执行while循环来再次迭代游戏 <!DOCTYPE html> <html> <head> <title>Color guessing game</title> </head> <body onload="do_game()"> <script> var color = ["Bla

这里的问题是:每次我运行这段代码时,它都工作得很好,但当它出错并且我找不到问题时,不会执行while循环来再次迭代游戏

<!DOCTYPE html>
<html>
<head>
    <title>Color guessing game</title>
</head>

<body onload="do_game()">
    <script>
        var color = ["Black","Blue","Brown","Cyan","GoldenRod","Green","Maroon","Olive","Pink","Red"];
        var target;
        var finished = false;
        var guess_input;
        var guesses;

        function do_game() {
            var target_index = Math.random() * 10;
            var target = Math.floor(target_index);

            alert(color[target]);

            while(!finished) {
                guess_input = prompt("I am thinking of one of these colors: \n\n" +
                                        "Black,Blue,Brown,Cyan,GoldenRod,Green, Maroon,Olive,Pink,Red \n\n"
                                        + "What color am i thinking of?");
                guesses +=1;
                finished = check_guess();
                }
        }

        myBody.style.background=name_of_color;
    </script>

</body>
</html>

猜颜色游戏
var color=[“黑色”、“蓝色”、“棕色”、“青色”、“黄花色”、“绿色”、“栗色”、“橄榄色”、“粉色”、“红色”];
var目标;
var finished=false;
var-u输入;
var猜测;
函数do_game(){
var target_index=Math.random()*10;
var目标=数学下限(目标指数);
警报(颜色[目标]);
当(!完成){
guess\u input=prompt(“我正在考虑这些颜色中的一种:\n\n”+
黑色、蓝色、棕色、青色、黄花、绿色、栗色、橄榄色、粉色、红色\n\n
+“我在想什么颜色?”;
猜测+=1;
完成=检查猜测();
}
}
myBody.style.background=颜色的名称;

您从未定义过函数
检查\u guess

当浏览器试图在该行上执行代码时,它发出错误,脚本停止

在浏览器中查找“开发者工具”或类似的菜单项,您将看到错误显示在那里


我猜您的脚本在变量
myBody
name\u of\u color
方面也有问题,这些变量也没有出现在脚本中。但是,既然你说“它工作得很好”,那么可能有些东西你没有向我们展示。

你从未定义过函数
check\u guess

当浏览器试图在该行上执行代码时,它发出错误,脚本停止

在浏览器中查找“开发者工具”或类似的菜单项,您将看到错误显示在那里


我猜您的脚本在变量
myBody
name\u of\u color
方面也有问题,这些变量也没有出现在脚本中。但既然你说“它很好用”,可能有些东西你没有给我们看。

你的问题中少了一些东西(我们不知道什么是check\u guess??),但我试着做了一些工作,让你非常接近你要找的东西。希望此解决方案对您有所帮助

var color=[“黑色”、“蓝色”、“棕色”、“青色”、“黄花”、“绿色”、“栗色”、“橄榄色”、“粉色”、“红色”];
var目标;
var finished=false;
var-u输入;
var猜测;
var随机化计算机猜测;
函数do_game(){
var target_index=Math.floor(Math.random()*10);
警报(颜色[目标指数]);
randomComputerGuess=颜色[目标指数];
当(!完成){
guess\u input=prompt(“我正在考虑这些颜色中的一种:\n\n”+
“黑色、蓝色、棕色、青色、黄花、绿色、栗色、橄榄色、粉色、红色”+“我在想什么颜色?”;
if(随机计算机猜测===猜测输入){
警惕(“干得好!你猜对了。”);
完成=正确;
//document.style.background=color[target_index];
}
}
}

您的问题中缺少了一些东西(我们不知道什么是check\u guess??),但我试着做了一些工作,让您非常接近您想要的东西。希望此解决方案对您有所帮助

var color=[“黑色”、“蓝色”、“棕色”、“青色”、“黄花”、“绿色”、“栗色”、“橄榄色”、“粉色”、“红色”];
var目标;
var finished=false;
var-u输入;
var猜测;
var随机化计算机猜测;
函数do_game(){
var target_index=Math.floor(Math.random()*10);
警报(颜色[目标指数]);
randomComputerGuess=颜色[目标指数];
当(!完成){
guess\u input=prompt(“我正在考虑这些颜色中的一种:\n\n”+
“黑色、蓝色、棕色、青色、黄花、绿色、栗色、橄榄色、粉色、红色”+“我在想什么颜色?”;
if(随机计算机猜测===猜测输入){
警惕(“干得好!你猜对了。”);
完成=正确;
//document.style.background=color[target_index];
}
}
}

Gah,没有办法结束游戏。。。幸运的是,有一个“不显示更多警报”选项:)但在此之后,由于
while(true){waste cpu}
编辑您的代码以检查中止或空字符串以取消GAH,无法结束游戏。。。幸运的是,有一个“不显示更多警报”选项:),但在此之后,由于
while(true){waste cpu}
编辑您的代码以检查中止或取消空字符串而导致页面冻结