为什么我的 if else 语句只返回第二个语句

时间:2021-03-11 21:17:49

标签: javascript if-statement

我对编码相当陌生,我目前正在做 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());

1 个答案:

答案 0 :(得分:1)

我认为是因为你在调用playRound()函数时没有将任何东西作为参数传递,所以参数总是相同的(undefined)。

例如,以下函数调用不返回平局 console.log(playRound("paper","rock"));