JavaScript 13中的石头、布、剪刀
计算机继续警告我 哎呀,再试一次。您的代码返回“rock win!”而不是“未定义”,当输入是剪刀和纸时,即使代码正在工作JavaScript 13中的石头、布、剪刀,javascript,Javascript,计算机继续警告我 哎呀,再试一次。您的代码返回“rock win!”而不是“未定义”,当输入是剪刀和纸时,即使代码正在工作 var userChoice = prompt("Do you choose rock, paper or scissors?"); var computerChoice = Math.random(); if (computerChoice < 0.34) { computerChoice = "rock"; } else if(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";
}
console.log("Computer: " + computerChoice);
var compare=function(choice1,choice2){
choice1=userChoice;
choice2=computerChoice;
if (choice1===choice2){
return"The result is a tie!";
} else if(choice1==="rock"){
if (choice2==="scissors"){
return"rock win!";
} else {
return"paper win!!";
}
} else if (choice1==="scissors"){
if(choice2==="rock"){
return"rock wins!";
} else {
return"scissors wins";
}
} else {
if(choice2==="rock"){
return"paper wins";
} else {
return"scissors wins";
}
}
};
就我所知,如果正确调用比较函数并实际将userChoice和computerChoice作为参数传递给它,代码就会工作: var userChoice=prompt您选择石头、布还是剪刀?; var computerChoice=Math.random; 如果计算机选择<0.34{ 计算机选择=岩石;
}否则如果computerChoice它应该是如果computerChoice<0.34{computerChoice=rock;}否则如果computerChoice>=0.34&&computerChoice对不起,我还是个初学者,所以我不知道有什么区别。你能包括完整的代码吗?我看到了返回语句,但没有看到它们所属的函数。在比较函数中,为什么要重写参数choice1和choice2的值?@VickyGonsalves抱歉,我也没有看到问题。else if中的else使在computerChoice>=0.34上进行测试变得不必要。