while循环if if / else

时间:2015-05-04 15:25:03

标签: javascript jquery while-loop

    while(playerTwoHealth > 0 && playerOneHealth > 0){
        changeScreen("Player1's Turn", "<button id='player1Attack'>Attack</button><button id='player1Defend'>Defend</button>");
        $("#player1Attack").click(function(){
            var successfulAttack = alert("Did you get this question right?");
            if(successfulAttack === true){
                playerTwoHealth = playerTwoHealth - 1;
                if(playerTwoHealth === 0){
                     break;
                };
            }else{

            };
        });
    };

我正在制作一个教育数学游戏,在这段代码中,我试图测试对被问题的反应。函数changeScreen将屏幕的标题和段落部分更改为指定的HTML。在线号码7-9,if / else语句用于测试玩家的健康状况是否达到0,如果有,则打破第1行声明的while循环。但是,break语句会抛出非法的break语句错误。请发布有关如何解决的任何建议。

2 个答案:

答案 0 :(得分:0)

您的break语句位于一个绑定到click事件的函数内部,因此它不在while循环中。你永远不应该在while循环中绑定事件,因为这会在每次循环时尝试绑定事件。

此外,您可能希望将alert替换为prompt

答案 1 :(得分:0)

将click事件移出循环外部。事实上,你并不需要休息,因为当健康状况为0时,while循环条件无效。

while(playerTwoHealth > 0 && playerOneHealth > 0){
    changeScreen("Player1's Turn", "<button id='player1Attack'>Attack</button><button id='player1Defend'>Defend</button>");

};

$("#player1Attack").click(function(){
    var successfulAttack = alert("Did you get this question right?");
    if(successfulAttack === true){
        playerTwoHealth = playerTwoHealth - 1;
           if(playerTwoHealth === 0){
                // Do stuff
           };
    } else {

    };
});