我正在制作我的第一个游戏(Rock Paper Sissors),我遇到了一个问题,当userChoice是剪刀而且computerChoice是摇滚时,程序无法将胜利者视为摇滚.我可以让程序给我任何其他组合的赢家.
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!"; } if(choice1 === "rock") { if(choice2 === "scissors") { return "rock wins"; } else { return "paper wins"; } } if(choice1 === "paper") { if(choice2 === "rock") { return "paper wins"; } else { if(choice2 === "scissors") { return "scissors wins"; } } if(choice1 === "scissors") { if(choice2 === "rock") { return "rock wins"; } else { if(choice2 === "paper") { return "scissors wins"; } } } } }; console.log("User Choice: " + userChoice); console.log("Computer Choice: " + computerChoice); compare(userChoice,computerChoice);
解决方法
由于代码缩进不当,您无法看到问题.正确缩进问题很清楚:
if (choice1 === "paper") { if (choice2 === "rock") { return "paper wins"; } else { if (choice2 === "scissors") { return "scissors wins"; } } if (choice1 === "scissors") { if (choice2 === "rock") { return "rock wins"; } else { if (choice2 === "paper") { return "scissors wins"; } } } }
你的if(choice1 ===“剪刀”){在if(choice1 ===“paper”){.永远不会达到内部代码.