我对编码相当陌生,我目前正在做 Odin 项目。那里的一个项目要求建造一个石头剪刀布游戏。我不想做任何花哨的事情,所以我只是在控制台中显示结果。每次我运行代码并输入任何响应时,每次返回的都是“这是平局”。代码如下:
let playerChoice = prompt("Enter Rock, Paper, or Scissors:").toLowerCase();
let computerRandom = Math.floor(Math.random() * 3 + 1);
function computerRand() {
if (computerRandom === 1) {
return "paper";
} else if (computerRandom === 2) {
return "rock";
} else if (computerRandom === 3) {
return "scissors";
}
};
computerRand();
function playRound(playerSel, computerPlay) {
let playerChoice = playerSel;
let computerRand = computerPlay;
if ((playerSel === 'rock' && computerPlay === 'scissors') || (playerSel === 'scissors' && computerPlay === 'paper') || (playerSel === 'paper' && computerPlay === 'rock')) {
return "Player Wins";
} else if (computerPlay == playerSel) {
return "it's a draw";
} else if ((computerPlay === 'rock' && playerSel === 'scissors' || computerPlay === 'scissors' && playerSel === 'paper' || computerPlay === 'paper' && playerSel === 'rock')) {
return "You lose";
} else {
return "That is not an option"
}
};
playRound();
console.log(playRound());
答案 0 :(得分:1)
我认为是因为你在调用playRound()
函数时没有将任何东西作为参数传递,所以参数总是相同的(undefined
)。
例如,以下函数调用不返回平局 console.log(playRound("paper","rock"));