javascript - 我的成功消息与我的错误消息一起显示
问题描述
当玩家做出正确猜测时,首先显示错误警报,然后显示成功警报。我只希望在错误时显示错误警报,并在成功时显示成功。
我尝试在 if else 语句中包含成功警报。
解决方案
故障警报始终运行。没有 if 语句来防止它。
尝试这个:
if(guessBoxes[guess-1] == "X"){
alert("GAME OVER - YOU FOUND IT! A WINNER");
} else {
alert("SORRY WRONG GUESS!; ");
}
此外,如果输入无效数字,则不要使用第一个 if - else 语句,而是返回 false。它消除了对大型 else 语句的需要并提高了代码的可读性:
function playGuessingGame() {
var guess = document.getElementById("numberToGuess").value;
var date = "";
if (isNaN(guess) || guess < 1 || guess > 9) {
alert("YOU CAN ONLY PLAY WITH NUMBERS 1-9 ");
return false;
}
var gemPosition = Math.floor(Math.random() * (9 - 1 + 1)) + 1;
var guessBoxes = ["O", "O", "O", "O", "O", "O", "O", "O", "O"];
guessBoxes[gemPosition - 1] = "X";
if (guess == 1) {
document.getElementById("guessBox1").innerHTML = guessBoxes[guess - 1];
} else if (guess == 2) {
document.getElementById("guessBox2").innerHTML = guessBoxes[guess - 1];
} else if (guess == 3) {
document.getElementById("guessBox3").innerHTML = guessBoxes[guess - 1];
} else if (guess == 4) {
document.getElementById("guessBox4").innerHTML = guessBoxes[guess - 1];
} else if (guess == 5) {
document.getElementById("guessBox5").innerHTML = guessBoxes[guess - 1];
} else if (guess == 6) {
document.getElementById("guessBox6").innerHTML = guessBoxes[guess - 1];
} else if (guess == 7) {
document.getElementById("guessBox7").innerHTML = guessBoxes[guess - 1];
} else if (guess == 8) {
document.getElementById("guessBox8").innerHTML = guessBoxes[guess - 1];
} else if (guess == 9) {
document.getElementById("guessBox9").innerHTML = guessBoxes[guess - 1];
}
if (guessBoxes[guess - 1] == "X") {
alert("GAME OVER - YOU FOUND IT! A WINNER");
} else {
alert("SORRY WRONG GUESS!; ");
}
document.getElementById("response").innerHTML;
}
这是一个带有更改的工作代码笔:
https://codepen.io/ZorlacMeister/pen/wVJzKv
我已将 gemPosition 和guessBoxes 变量移到函数之外,因为每次单击按钮时都会调用该函数。我还添加了 gameReset 功能。
推荐阅读
- html - Firefox 上的虚假位置
- javascript - 在反应导航中更改父标题?
- tensorflow - Faster RCNN 无限期训练器
- matlab - IF 和 FOR 循环不打印正确的值
- ruby-on-rails - 如何在 Rails schema.rb 中仅 pg_restore 表
- r - 在 R Markdown 中使用 citation() 自动生成 R 包的参考书目
- python - TAB 完成在 jupyter notebook 中不起作用并给出错误“NotImplementedError”
- react-native - 使用此命令安装 expo 时如何解决错误(npm install expo-cli --global)
- angular - Angular 8 Pipe - 在订阅之外未定义变量
- python - 限制请求数 Nginx + uWSGI + Flask