2
我是JavaScript的newby。我只是不明白爲什麼這有時會給錯誤的贏家。它說Rock在用戶選擇Rock並且計算機選擇Paper時獲勝。其他幾個組合也出錯了。任何人都可以告訴我哪裏出錯了?謝謝!Rock Paper Scissors Lizard Spock遊戲邏輯偶爾輸出錯誤的贏家,我無法分辨爲什麼
var userChoice = prompt("Do you choose Rock, Paper, Scissors, Lizard or Spock?");
var computerChoice = Math.random();
if (computerChoice < 0.21) {
computerChoice = "Rock";
} else if(computerChoice > 0.20 && computerChoice < 0.41) {
computerChoice = "Paper";
} else if(computerChoice >0.40 && computerChoice < 0.61) {
computerChoice = "Scissors";
} else if(computerChoice > 0.60 && computerChoice < 0.81) {
computerChoice = "Lizard";
} else {
computerChoice = "Spock";
}
console.log("The player chooses: " + userChoice);
console.log("The computer chooses: " + computerChoice);
function compare(choice1, choice2) {
if(choice1 === choice2) {
console.log("The result is a tie!");
} else if(choice1 === "Rock") {
if(choice2 === "Scissors" || "Lizard") {
console.log("Rock wins!");
} else if(choice2 === "Paper") {
console.log("Paper wins!");
} else {
console.log("Spock wins");
}
} else if(choice1 === "Paper") {
if(choice2 === "Rock" || "Spock") {
console.log("Paper wins!");
} else if(choice2 === "Scissors") {
console.log("Scissors wins!");
} else {
console.log("Lizard wins!");
}
} else if(choice1 === "Scissors") {
if(choice2 === "Paper" || "Lizard") {
console.log("Scissors wins!");
} else if(choice2 === "Rock") {
console.log("Rock wins!");
} else {
console.log("Spock wins!");
}
} else if(choice1 === "Lizard") {
if(choice2 === "Paper" || "Spock") {
console.log("Lizard wins!");
} else if(choice2 === "Rock") {
console.log("Rock wins!");
} else {
console.log("Spock wins!");
}
} else if(choice1 === "Spock") {
if(choice2 === "Rock" || "Scissors") {
console.log("Spock wins!");
} else if(choice2 === "Paper") {
console.log("Paper wins!");
} else {
console.log("Lizard wins!");
}
}
}
compare(userChoice, computerChoice);
謝謝!這很有道理! –