石头剪刀布游戏错误,Javascript

Rock Paper Scissors Game Error, Javascript

本文关键字:Javascript 错误 游戏 石头剪刀布      更新时间:2023-09-26

我一直从控制台得到这个错误:

SyntaxError:期望的表达式,得到关键字'else'=== "paper") {

我的代码

var user = prompt("Rock, Paper, Scissors?");
var computer = Math.random();
if (computer < 0.34) {
    computer = "rock";
} else if (computer <= 0.67) {
    computer = "paper";
} else {
    computer = "scissors";
} console.log("computer: " + computer);
var compare = function (choice1, choice2) {
    if (choice1 === choice2) {
        return "Tie";
    }
else if (choice1 === "rock") {
    return "Rock wins";
}
else {
    return "paper wins";
}
}
else if (choice2 === "paper") {
    if (choice2 === "rock") {
        return "paper wins";
    }
    else {
        return "scissors win";
    }
}
}
compare(user, computer);

好吧。

在第25行左右结束比较函数,然后启动另一个else。这不是很好,但它只是一个重复的花括号,所以当删除它时,我们仍然得到错误。这是因为您在else之后调用else if

当我们将else移动到else if下面并删除重复的花括号时,我们得到一些实际运行的代码

var user = prompt("Rock, Paper, Scissors?");
var computer = Math.random();
if (computer < 0.34) {
    computer = "rock";
} else if (computer <= 0.67) {
    computer = "paper";
} else {
    computer = "scissors";
}
console.log("computer: " + computer);
var compare = function(choice1, choice2) {
    if (choice1 === choice2) {
        return "Tie";
    } else if (choice1 === "rock") {
        return "Rock wins";
    } else if (choice2 === "paper") {
        if (choice2 === "rock") {
            return "paper wins";
        } else {
            return "scissors win";
        }
    } else {
        return "paper wins";
    } 
}
compare(user, computer);

希望这对你有帮助。此外,当您使用工具来美化代码时,它也使调试更容易(参见额外的花括号),我使用-> http://jsbeautifier.org/