我正在使用JavaScript制作摇滚,纸张,剪刀游戏,我必须让用户知道是否有领带,如果除了摇滚,纸张和剪刀之外还有无效的用户选择,那么我认为如果嵌套, / else语句是合适的。我是JS的新手,无法判断我的代码无法正常工作的原因是嵌套不正确还是其他问题。我得到的只是一个意外令牌的解析错误。
var UserChoice = window.prompt("Select rock, paper, or scissors");
var computChoice = Math.random();
if (computChoice <= 0.33) {
computChoice = "scissors";
} else if (computChoice <= 0.66 && computChoice > 0.33) {
computChoice = "paper";
} else {
computChoice = "rock";
}
if (UserChoice === "paper") {
if (UserChoice === "paper" && computChoice === "rock") {
window.alert("You chose paper and the computer chose rock! You win! Paper covers rock");
} else if (UserChoice === "paper" && computChoice === "paper") {
window.alert("It's a tie!");
} else if (UserChoice === "paper" && computChoice === "scissors") {
window.alert("You lose! You chose paper and computer chose scissors. Scissors cut paper!");
}
} else if (UserChoice === "scissors") {
if (UserChoice === "scissors" && computChoice === "paper") {
window.alert("You chose scissors and the computer chose paper! You win! Scissors cut paper.");
} else if (UserChoice === "scissors" && computChoice === "scissors") {
window.alert("It's a tie! You chose scissors and the computer chose scissors!");
} else if (UserChoice === "scissors" && computChoice === "rock") {
window.alert("You lose! You chose scissors and computer chose rock. Rock smashes scissors!");
}
} else if (UserChoice === "rock") {
if (UserChoice === "rock" && computChoice === "scissors") {
window.alert("You chose rock and the computer chose scissors! You win! Rock smashes scissors.");
} else if (UserChoice === "rock" && computChoice === "rock") {
window.alert("It's a tie! You chose rock and the computer chose rock!");
} else if (UserChoice === "scissors" && computChoice === "rock") {
window.alert("You lose! You chose rock and computer chose paper. Paper covers rock!");
} else {
window.prompt("Invalid choice! Choose from rock, paper, or scissors");
}
您的问题不是您的代码的问题。这是一个简单的语法错误。
你在最后错过了一个}
来关闭外部的if语句。我更新了您的代码段以使其在下方运行。
var UserChoice = window.prompt("Select rock, paper, or scissors");
var computChoice = Math.random();
if (computChoice <= 0.33) {
computChoice = "scissors";
} else if (computChoice <= 0.66 && computChoice > 0.33) {
computChoice = "paper";
} else {
computChoice = "rock";
}
if (UserChoice === "paper") {
if (UserChoice === "paper" && computChoice === "rock") {
window.alert("You chose paper and the computer chose rock! You win! Paper covers rock");
} else if (UserChoice === "paper" && computChoice === "paper") {
window.alert("It's a tie!");
} else if (UserChoice === "paper" && computChoice === "scissors") {
window.alert("You lose! You chose paper and computer chose scissors. Scissors cut paper!");
}
} else if (UserChoice === "scissors") {
if (UserChoice === "scissors" && computChoice === "paper") {
window.alert("You chose scissors and the computer chose paper! You win! Scissors cut paper.");
} else if (UserChoice === "scissors" && computChoice === "scissors") {
window.alert("It's a tie! You chose scissors and the computer chose scissors!");
} else if (UserChoice === "scissors" && computChoice === "rock") {
window.alert("You lose! You chose scissors and computer chose rock. Rock smashes scissors!");
}
} else if (UserChoice === "rock") {
if (UserChoice === "rock" && computChoice === "scissors") {
window.alert("You chose rock and the computer chose scissors! You win! Rock smashes scissors.");
} else if (UserChoice === "rock" && computChoice === "rock") {
window.alert("It's a tie! You chose rock and the computer chose rock!");
} else if (UserChoice === "scissors" && computChoice === "rock") {
window.alert("You lose! You chose rock and computer chose paper. Paper covers rock!");
} else {
window.prompt("Invalid choice! Choose from rock, paper, or scissors");
}
}
在您的情况下,您只需将}
添加到代码的末尾。
但是还有其他方法来创建rock, paper, scissors game
:
var UserChoice = window.prompt("Select rock, paper, or scissors");
var computChoice = Math.random();
var computChoice = computChoice < 0.33 ? "scissors" : ( computChoice > 0.66 ? "rock" : "paper" ) ;
var mess = {
rock : { scissors : 'You Win!, Rock smashes scissors!', paper : 'You lose!, Paper covers rock!'} ,
paper : { rock : 'You Win!, Paper covers rock!', scissors : 'You lose!, Scissors cut paper!' },
scissors : { paper : 'You Win!, Scissors cut paper!', rock : 'You lose!, Rock smashes scissors!' }
}
if ( computChoice === UserChoice)
result = "It's a tie!" ;
else if ( UserChoice !== "rock" && UserChoice !== "paper" && UserChoice !== "scissors" )
result = "Invalid choice! Choose from rock, paper, or scissors" ;
else
result = mess[UserChoice][computChoice] ;
console.log( 'you chose ' + UserChoice + ' and computer chose ' + computChoice + ' ( ' + result + ' ) ') ;