另一个岩石,纸,剪刀

时间:2016-01-20 17:40:05

标签: javascript

我只想构建我的r / p / s游戏的前两个步骤,到目前为止这是我的编码。它给了我响应“语法错误:意外的令牌其他”,我不能为我的生活弄清楚为什么......

var compare = function (choice1, choice2) {
    if (choice1===choice2) {
        return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors")
            return "Rock wins";
    } else {
        return "Paper wins";
    }
    else if (choice1 === "paper") {
        if (choice2 === "rock")
            return "paper wins";
    } else {
        return "scissors wins";
    }
}

4 个答案:

答案 0 :(得分:1)

您使用纸张获胜部分关闭了主if / else链,我相信您打算将其他内容附加到内部if / else,如下所示。

在论文部分你有同样的事情,我也修复了那个实例。在这里,您应该可以添加最终的if(choice1 === "scissors")细分。

var compare = function (choice1, choice2) {
    if (choice1===choice2) {
        return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors") return "Rock wins";
        else return "Paper Wins";
    } 
    else if (choice1 === "paper") {
        if (choice2 === "rock") return "Paper wins";
        else return "Scissors wins";
    } 
}

答案 1 :(得分:1)

我为你解决了这个问题:

var compare = function (choice1, choice2) {
    if (choice1===choice2) {
        return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "Rock wins";
        } else {
            return "Paper wins";
        }
    }
    else if (choice1 === "paper") {
        if (choice2 === "rock") {
            return "paper wins";
        } else {
           return "scissors wins";
        }
    }
}

答案 2 :(得分:1)

你有一堆ifs和elses!

我特别相信,你有if (choice2 === "scissors")没有花括号,这很好,除非你用} else {关闭了你从未打开过的括号。你应该正确地缩进,它会帮助你理解为什么你可能遇到问题。

var compare = function (choice1, choice2) {
    if (choice1===choice2) {
        return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors"){
            return "Rock wins";
        } else {
            return "Paper wins";
        }
    }
    else if (choice1 === "paper") {
        if (choice2 === "rock"){
            return "paper wins";
        } else {
            return "scissors wins";
        }
    }
}

所以你可以看到,我添加{在任何'ifs'之后没有,然后加上两个}来关闭正确位置的那些。

答案 3 :(得分:-2)

 else {
    return "Paper wins";
}
else if (choice1 === "paper") {

如果做了别的话,你就不能做别的事了;

我没有给出完整的答案并强迫他学习条件而被否定了?