2016-06-12 1 views
-6

コードは

var userChoice = prompt("What would you like to play?"), 
 
    computerChoice = Math.random(); 
 
if (computerChoice <= 0.34){ 
 
    computerChoice = "Rock"; 
 
} 
 
else if (computerChoice >= 0.35 && computerChoice <= 0.67){ 
 
    computerChoice = "Paper"; 
 
} 
 
else { 
 
    computerChoice = "Scissors"; 
 
} 
 
document.write("Computer's choice is " + computerChoice); 
 
var compare = function(choice1, choice2) { 
 
    if (choice1 === choice2){ 
 
     return "This 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"; 
 
     } 
 
    } 
 
}; 
 

 
document.write(compare(userChoice, computerChoice));
<!doctype html> 
 
<html> 
 
<title>JS Practice</title> 
 
<head> 
 
\t <script language="javascript"> 
 
</script> 
 
</head> 
 
<body> 
 
\t 
 
\t 
 

 
</body> 
 

 
</html>

が、それはリターンの文字列が表示されない理由を私は理解して助けてください任意の戻り値の文字列を与えていません?あなたが勝つか失うと、結果を示すはずです。私はcodeacademyからこのコードを入手しました。彼らのコンソールでは完璧に動作しますが、ブラウザで実行しようとすると正しく動作しません。混乱...

var userChoice = prompt("What would you like to play?"); 
 
\t var computerChoice = Math.random(); 
 
\t if (computerChoice <= 0.34){ 
 
\t \t computerChoice = "Rock"; 
 
\t } 
 
\t else if (computerChoice >= 0.35 && computerChoice <= 0.67){ 
 
\t \t computerChoice = "Paper"; 
 
\t \t } 
 
\t else { 
 
\t \t computerChoice = "Scissors"; 
 
\t \t } \t 
 
\t document.write("Computer's choice is " + computerChoice); 
 
\t var compare = function(choice1, choice2){ 
 
\t \t if (choice1 === choice2){ 
 
\t \t \t return "This result is a tie!"; 
 
\t \t } 
 
\t \t else if (choice1 === "Rock") { 
 
\t \t \t if (choice2 === "Scissors"){ 
 
\t \t \t \t return "Rock Wins!"; 
 
\t \t \t } 
 
\t \t else { 
 
\t \t \t return "Paper Wins!"; 
 
\t \t \t } 
 
\t \t } 
 
\t \t else if (choice1 === "Paper"){ 
 
\t \t \t if (choice2 === "Rock"){ 
 
\t \t \t \t return "Paper Wins"; 
 
\t \t \t } 
 
\t \t \t else { 
 
\t \t \t \t return "Scissors wins"; 
 
\t \t \t } \t 
 
\t \t } 
 
\t \t else if (choice1 === "Scissors"){ 
 
\t \t \t if (choice2 === "Rock"){ 
 
\t \t \t \t return "Rock WINS"; 
 
\t \t \t } 
 
\t \t \t else { 
 
\t \t \t \t return "Scissors wins"; 
 
\t \t \t } 
 
\t \t } 
 
\t }; 
 
\t compare(userChoice, computerChoice);

+0

ブラウザでどのように実行していますか? HTMLページですか? – Netham

+0

YEs。 notepad ++から、私はそれをChromeで実行します。 – Marin

+0

詳細を追加してください:あなたはそれが正しく動作しないということはどういう意味ですか? – pietro909

答えて

0

コードが正しいと正常に動作している、あなたはそれを示すの重要な部分を忘れてしまいました。

あなたは実際の文書に結果を書き込んでいません。あなたは関数を呼び出すと正しく返されますが、あなたは答えを目に見える形で表示していません。このコードを試してみてください。

var userChoice = prompt("What would you like to play?"), 
 
    computerChoice = Math.random(); 
 
if (computerChoice <= 0.34){ 
 
    computerChoice = "Rock"; 
 
} 
 
else if (computerChoice >= 0.35 && computerChoice <= 0.67){ 
 
\t \t computerChoice = "Paper"; 
 
} 
 
else { 
 
\t computerChoice = "Scissors"; 
 
} \t 
 
document.write("Computer's choice is " + computerChoice); 
 
var compare = function(choice1, choice2) { 
 
\t if (choice1 === choice2){ 
 
\t \t return "This result is a tie!"; 
 
\t } 
 
\t else if (choice1 === "Rock") { 
 
\t \t if (choice2 === "Scissors"){ 
 
\t \t \t return "Rock Wins!"; 
 
\t \t } 
 
\t \t else { 
 
\t \t \t return "Paper Wins!"; 
 
\t \t } 
 
\t } 
 
\t else if (choice1 === "Paper"){ 
 
\t \t if (choice2 === "Rock"){ 
 
\t \t \t return "Paper Wins"; 
 
\t \t } 
 
\t \t else { 
 
\t \t \t return "Scissors wins"; 
 
\t \t } \t 
 
\t } 
 
\t else if (choice1 === "Scissors"){ 
 
\t \t if (choice2 === "Rock"){ 
 
\t \t \t return "Rock WINS"; 
 
\t \t } 
 
\t  else { 
 
\t \t \t return "Scissors wins"; 
 
\t \t } 
 
\t } 
 
    else { 
 
     return "Invalid input! Type either rock, paper, or scissors!" 
 
    } 
 
}; 
 

 
document.write(", " + compare(userChoice, computerChoice));

あなたが文書に結果を書き込むために、最後のdocument.writeを欠落していました。自分でフォーマットすることができます。また、入力が有効でない場合は、別のケースを追加することをお勧めします。メインプロンプトを関数に入れ、入力が有効でない場合は再帰を呼び出すこともできます。

+0

動作しません。それは未定義と言う... – Marin

+0

@マリンそれは間違っているので、私はそれが有効な入力でない場合は、ケースを追加したいので、それはおそらく未定義を返します – Li357

+0

これはすべてのコードです。私はそれをentierly編集します。私はhtmlも追加します。 – Marin