1

CodeAcademy のじゃんけん演習の 6/9 で、ちょっと混乱しています。私が今知っているのは、じゃんけん、じゃんけんの 3 つの選択肢があるということだけです。ゲームのすべての結果を記録する必要があります。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");
}; 

何らかの理由で、構文に問題があり、「return が機能していません」と表示されます。また、if ステートメントの入れ子もよくわかりません。確かにそれはif、elseif、そしてelseのはずですか?

親切に教えていただければ、エクササイズを明確にしていただければ幸いです。私は本当にこの本当に単純なエクササイズについて理解することができず、ストレスを感じています. CodeAcademy Q and 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";}
 };

{} を 1 行に移動することで、すべてがどのように機能するかを確認できました。これはお勧めしませんが、括弧とそれがコード内でどのように関係しているかを視覚化するのに役立ちました。頑張ってください。そこで苦労したのは私だけではありません!

于 2014-03-13T22:09:24.917 に答える