2016-08-15 6 views
0

シンプルなロックペーパーはさみゲームを行うJavaScriptプロジェクトをやっているのですが、私のコードが "player wins "プレーヤーが負けることになっても。ここでは、コードです:サイドノートでもElseステートメントがJavaScriptで動作しない場合(もしそうであれば返る)

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
 
console.log("Player: " + userChoice) 
 

 
var computerChoice = Math.random(); 
 
console.log(computerChoice) 
 

 
if (computerChoice < 0.34) { 
 
    computerChoice = "rock" 
 
} else if (computerChoice > 0.67) { 
 
    computerChoice = "paper" 
 
} else { 
 
    computerChoice = "scissors" 
 
} 
 
console.log("Computer: " + computerChoice); 
 

 
var compare = function(userChoice, computerChoice) { 
 
    var x = userChoice 
 
    var y = computerChoice 
 
    if (x === y) { 
 
    return "The result is a tie!" 
 
    } 
 
    if (x === "rock", y === "scissors") { 
 
    return "player wins" 
 
    } else if (x === "scissors", y === "paper") { 
 
    return "player wins" 
 
    } else if (x === "paper", y === "rock") { 
 
    return "player wins" 
 
    } else { 
 
    return "You lose" 
 
    } 
 
} 
 

 
compare(userChoice, computerChoice)

は、なぜstackoverflowの上のコンソールがcodeacademy上のコンソールがないリターンは表示されません。

+0

この問題は、条件が**、**の代わりに論理演算子を使用する場合に発生します。 ** x === 5 || y === 3 ** –

+0

残念ながら、私はそれほど面白く見えないほどPythonを使っていません。 –

+0

あなたの質問にコメントを追加しないでください。コメントセクションにコメントを入れます。 –

答えて

-1

私はあなたが多分あなたは変更する必要があり、何かを失った推測:

if (x === "rock", y === "scissors") { 

if (x === "rock" && y === "scissors") { 

に他の条件文は、上記のようなことを行う必要があります。

1

オペレータ&&を使用し、,を使用しないでください。

var compare = function(userChoice, computerChoice) { 
    var x = userChoice; 
    var y = computerChoice; 

    if (x === y) { 
    return "The result is a tie!"; 
    } 
    if (x === "rock" && y === "scissors") { 
    return "player wins"; 
    } else if (x === "scissors" && y === "paper") { 
    return "player wins"; 
    } else if (x === "paper" && y === "rock") { 
    return "player wins"; 
    } else { 
    return "You lose"; 
    } 
} 
関連する問題