缺少一块?自己的石头剪刀布游戏



不打印石头,纸,剪刀游戏中的获胜者。由于某种原因,我无法让我的函数 DeclareWinner 返回我创建的任何字符串。

在我做了一个简短的测试后,我在 if/else 语句之外放了一个字符串,我设法打印了出来。似乎我的退货卡在本地范围内,因此无法打印。

var weapon = "rock"
function Userchoice(weapon){
if (weapon === "rock" || weapon === "paper" || weapon === "scissor") {
return weapon
}
else {
return "Invalid Choice";
}
}
function Computerchoice(){
var Number = Math.floor(Math.random() * 3);
if (Number === 0) {
return "rock";
}
else if (Number === 1) {
return "paper";
}
else if (Number === 2) {
return "scissor";
}
}
function DeclareWinner(Userchoice, Computerchoice){
if (Userchoice === Computerchoice){
return "Tiebreak";
}
else if (Userchoice === "rock" && Computerchoice === "scissor"){
return "User wins";
}
else if (Userchoice === "rock" && Computerchoice === "paper"){
return "Computer wins";
}
else if (Userchoice === "paper" && Computerchoice === "rock"){
return "User wins";
}
else if (Userchoice === "paper" && Computerchoice === "scissor"){
return "Computer wins";
}
else if (Userchoice === "scissor" && Computerchoice === "rock"){
return "Computer wins";
}
else if (Userchoice === "scissor" && Computerchoice === "paper"){
return "User wins";
}   
}
console.log(Userchoice(weapon));
console.log(Computerchoice());
console.log(DeclareWinner(Userchoice, Computerchoice));

console.log(DeclareWinner(Userchoice, Computerchoice((的期望是打印谁是赢家。

(附言。我知道还有其他几个石头剪刀布游戏更具技术性,我只是想在没有具体指导的情况下尝试创建自己的游戏(

提前谢谢。

您没有将正确的参数传递给函数。UserchoiceComputerchoice都是对相应函数的引用,并不表示您之前函数调用的(字符串(结果,正如您所期望的那样。

您可以通过添加console.log(Userchoice)来轻松验证这一点,该打印:

function Userchoice(weapon){if(weapon==="rock"||weapon==="paper"||weapon==="scissor"){return weapon;}else{return"Invalid Choice";}}

您希望在打印之前存储函数调用的结果,并将其传递给DeclareWinner

相关部分:

// Your unchanged code
// ...
let userchoice = Userchoice(weapon);
let computerchoice = Computerchoice();
console.log(userchoice);
console.log(computerchoice);
console.log(DeclareWinner(userchoice, computerchoice));

作为旁注:变量和方法名称通常以小写字母开头。

最新更新