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语句错误。请发布有关如何解决的任何建议。
答案 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 {
};
});