Javascript中的岩石纸剪刀

int*_*k72 -3 javascript

因此,我正在尝试构建用户被提示输入"摇滚","纸张"或"剪刀"的代码,然后将其与随机计算机选择进行比较.计算机的选择被认为是0到1之间的随机值.我们的比较函数通过这两个选项并比较它们的值以返回输出,告诉哪个手势信号获胜.我收到语法错误,但似乎无法弄清楚我错过了什么.

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();

if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if (computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
}

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(choice1 === "scissors") {
        if (choice2 === "paper") {
            return "scissors wins";
        } else {
            return "rock wins";
        }
    }
}

console.log(compare(userChoice, computerChoice));
Run Code Online (Sandbox Code Playgroud)

Ant*_*iga 6

你的else陈述有条件.删除它或添加if.

} else if (choice1 === "scissors") {
  if (choice2 === "paper") {
    return "scissors wins";
  } else {
    return "rock wins";
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果这解决了您的问题,请将其标记为已接受@ user2731392 (2认同)