正面或反面游戏javascript do/while循环
Heads or tails game javascript do/while loop
我正在尝试使用do/while循环制作一个基本的正面或反面游戏。我的问题是,我的提示似乎不会影响我的变量,因为无论我键入什么,它都会进入下一节,然后根本不会循环。我是不是错过了什么?我做错了什么?
var userChoice;
var playAgain;
do {
playAgain = prompt("Do you want to play Heads or tails?");
}
while (playAgain === "Yes") {
userChoice = prompt("Choose Heads or Tails.");
if (userChoice === "Heads") {
coin = Math.random();
if (coin <= 0.5) {
console.log("You Win!");
}
else {
console.log ("You lose");
}
}
if (userChoice === "Tails") {
coin = Math.random();
if (coin > 0.5) {
console.log("You Win!");
}
else {
console.log("You lose");
}
}
playAgain = prompt("Would you like to play again?");
};
您应该这样尝试:
var userChoice;
var playAgain;
playAgain = prompt("Do you want to play Heads or tails?");
while (playAgain === "Yes") {
userChoice = prompt("Choose Heads or Tails.");
if (userChoice === "Heads") {
coin = Math.random();
if (coin <= 0.5) {
alert("You Win!");
}
else {
alert ("You lose");
}
} else if (userChoice === "Tails") {
coin = Math.random();
if (coin > 0.5) {
alert("You Win!");
}
else {
alert("You lose");
}
}
playAgain = prompt("Would you like to play again?");
}
do/while循环在不满足while
条件的情况下执行do
语句下的操作。通常,除非你真的需要,否则你倾向于避免do/while循环,这是非常罕见的。
此外,为了连贯性和避免查看控制台,我将console.log
替换为window.alert
。
您混淆了do-while
和while
循环的语法。
do-while
回路为
do { block } while (condition)
while
回路为
while (condition) { block }
你试图写一个不存在的混合体,形式为
do { block1 } while (condition) { block2 }
JS解析器会将其解释为:
do { block1} while (condition);
{ block2 }
其中所述分号由所述自动分号插入机构插入。换句话说,只要condition
为真,block1
将继续一次又一次地执行。然后,也只有到那时,它才会继续执行block2
。
您可以通过在prompt语句上放置一个断点来调试这个问题,然后逐步查看代码,看看它在做什么。
或者,在代码上运行一个类似jshint的程序,它会报告
line 7, col 28, Missing semicolon
这会给你关于这个问题的线索。
解决方案是使用正确的语法重写代码,很可能是一个普通的旧while
循环。
相关文章:
- 基于两个条件退出While循环
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 为什么我的While循环不起作用
- 使用while循环+break是一种可接受的方式;goto;手术的结束
- 如何将while循环中生成的值存储到变量中,以便以后在JQuery中使用
- jquery,while循环在后台运行,同时while循环
- jquery悬停和while循环
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何修复 while 循环
- Jquery扩展点的宽度,同时通过while循环递增
- 斐波那契序列Javascript做while循环
- 为什么这个while循环不能使用AND逻辑运算符
- JavaScript while循环没有'不能在有条件的情况下工作
- While循环在JavaScript中永远运行
- 逻辑(JSint友好)等效于while循环中的此赋值
- Javascript:用if语句运行while循环,用子句随机生成内容
- 如何使javascript在SQL while循环中回显所有数据
- Javascript 'while' 循环,如果条件为 false,如何停止迭代
- 在 while 循环中选择与整数值对应的数组
- 我怎样才能让 while 循环等到用户在图片上向右滑动