1

我对 CodeAcademy 的 Rock Paper Scissors 练习的 6/9 有点困惑。我现在只知道有三种选择,石头,纸,剪刀。我必须记录游戏的所有结果。6/9 我被要求嵌套 if/else 语句,这是我提交的:

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

出于某种原因,它告诉我我的语法有问题并且“返回不在函数中”。我也不太了解 if 语句的嵌套。当然应该是 if、elseif 和 then else?

如果你能这么好心,我会很感激你对练习的任何澄清。我真的无法理解这个非常简单的练习,它让我感到压力。我可以从 CodeAcademy Q 和 A 中输入一些答案,但我不明白。

4

2 回答 2

1

很好,你正在努力学习(继续努力!),确保你正确缩进你的代码:

var compare = function(choice1, choice2) {
    if(choice1 === choice2) {
        return "The result is a tie";
    }

    if(choice1 === "rock") {
        if(choice2 === "scissors") {
            return "Rock wins";
        }
        else {
            return "Paper wins";
        }
    }
    // you get the idea
};
于 2013-11-11T10:38:12.423 回答
0

好吧,这让我很困惑,这是因为我误解了 {} 的工作原理,在做了一些调整之后,这对我来说感觉更流畅、更容易理解

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";}
else if (choice1 === "scissors")
    if (choice2 === "rock")
    {return "rock wins";}
    else
    {return "scissors wins";}
 };

通过将 {} 移动到一行,我可以看到它是如何工作的,不推荐这样做,但它确实帮助我可视化括号以及它在代码中的关系。祝你好运,很高兴看到我不是唯一一个在那里挣扎的人!

于 2014-03-13T22:09:24.917 回答