当我遇到很多问题时,我正试图制作文字冒险游戏。这是预料之中的,因为我对JavaScript很新,以及一般的编码。我遇到的一个问题是我添加了一些代码,以防止有人不选择某些东西。无论我给出了什么输入提示窗口,它都没有响应。
以下是我认为负责的代码:
var weapon = prompt("(prompt text)");
while (weapon != "axe" || weapon != "bow and arrow" || weapon != "rubber chicken"); {
alert("That's not an option!");
weapon = prompt("(prompt text)");
}
答案 0 :(得分:4)
while (weapon != "axe" ... weapon != "rubber chicken");
最主要的问题是;
。它说while
循环只有一个语句,;
就是那个语句。它类似于做
while (weapon != "axe" ... weapon != "rubber chicken") {
;
}
只需删除;
,就可以了。
注意:由于您只想允许这三个值,因此条件应该是&&
运算符
while (weapon != "axe" && ... && weapon != "rubber chicken") {
...
}
当您使用||
运算符时,如果我将weapon
输入rubber chicken
,由于它与axe
不匹配,条件将会得到满足并且您将询问同样的问题一次又一次。当您使用&&
运算符时,只有当值不等于您要比较的所有三个值时,它才会真实。