首页 > 解决方案 > 我的成功消息与我的错误消息一起显示

问题描述

当玩家做出正确猜测时,首先显示错误警报,然后显示成功警报。我只希望在错误时显示错误警报,并在成功时显示成功。

我尝试在 if else 语句中包含成功警报。

标签: javascript

解决方案


故障警报始终运行。没有 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 功能。


推荐阅读