我是 Odin 项目 Java 脚本基础课程的初学者,正在做石头剪刀布作业
我的 playRound 功能无法正常工作,它只是没有读取应该在游戏中给我正确结果的参数。谁能指出我正确的方向来解释为什么会发生这种情况?我已经坚持这个问题好几天了。这是我的代码
let humanScore = 0;
let computerScore = 0;
function getComputerChoice() {
let computerRound = Math.random();
if (computerRound <= 0.33) {
return "rock";
} else if (computerRound >= 0.34 && computerRound < 0.66) {
return "paper";
} else {
return "scissors";
}
}
console.log(getComputerChoice());
function getHumanChoice() {
let humanRound = prompt("Rock, Paper or Scissors? ").toLowerCase();
if (humanRound == "rock") {
return "rock";
} else if (humanRound == "paper") {
return "paper";
} else if (humanRound == "scissors") {
return "scissors";
} else {
alert("enter 'rock, paper or scissors'");
}
}
console.log(getHumanChoice());
const computerSelection = getComputerChoice;
const humanSelection = getHumanChoice;
function playRound(getComputerChoice, getHumanChoice) {
if (
(computerSelection == "paper" && humanSelection == "rock") ||
(computerSelection == "scissors" && humanSelection == "paper") ||
(computerSelection == "rock" && humanSelection == "scissor")
) {
return `You lose ${computerSelection} beats ${humanSelection}`;
} else if (computerSelection === humanSelection) {
return `Draw`;
} else return `You win`;
}
console.log(playRound(computerSelection, humanSelection));
谢谢你
我再次阅读了我的课程,重新编写了代码,但仍然停留在同样的问题上
获取计算机选择()
带括号,表示执行该函数。函数中的代码运行,然后返回一个值,您可以决定如何处理该值。例如,你有这个:
console.log(getComputerChoice());
这将从 getComputerChoice() 获取返回值并记录它,但之后不会对返回值执行任何其他操作。
获取计算机选择
如果没有括号,那么您就没有调用该函数,而只是引用它。所以当你这样做时:
常量computerSelection = getComputerChoice;
所做的就是说
computerSelection
应该与 getComputerChoice
具有相同的功能。该函数实际上并未被调用,也没有进行任何计算。
您可能想做的是:
const computerSelection = getComputerChoice();
const humanSelection = getHumanChoice();
console.log(computerSelection);
console.log(humanSelection);
行
const computerSelection = getComputerChoice();
将调用该函数,获取结果,然后将该结果分配给computerSelection。由于您现在已将其存储在变量中,因此您可以稍后使用它、将其注销或将其传递到 playRound