所以我一直在尝试学习编码,并一直使用codeAcademy作为资源。我目前正在做摇滚,剪纸,剪刀练习,我的代码运行正常,但是我的最后一个console.log(determineWinner(userChoice, computerChoice));"undefined扔到控制台中。任何帮助,将不胜感激。



const getUserChoice = (userInput) => {
  userInput = userInput.toLowerCase();
  if (userInput === 'rock' || userInput === 'paper' || userInput === 'scissors') {
    return userInput;
  } else {
    console.log('Error!');
  }
}

const getComputerChoice = () => {
  switch (Math.floor(Math.random() * 3)) {
    case 0:
      return 'rock';
    case 1:
      return 'paper';
    case 2:
      return 'scissors';
  }
}

const determineWinner = (userChoice, computerChoice) => {
  if (getUserChoice === getComputerChoice) {
    return 'the game was a tie';
  }
}
if (getUserChoice === 'rock') {
  if (getComputerChoice === 'paper') {
    return 'computer won!';
  } else {
    return 'you won!';
  }
}
if (getUserChoice === 'paper') {
  if (getComputerChoice === 'scissors') {
    return 'computer won!';
  } else {
    return 'you won!';
  }
}
if (getUserChoice === 'scissors') {
  if (getComputerChoice === 'rock') {
    return 'computer won!';
  } else {
    return 'you won!';
  }
}
const playGame = () => {
  const userChoice = getUserChoice('rock');
  const computerChoice = getComputerChoice();
  console.log(`You threw: ${userChoice}`);
  console.log(`The computer threw: ${computerChoice}`);
  console.log(determineWinner(userChoice, computerChoice));
};
playGame();

最佳答案

忽略您在此处发布的代码中的一个小语法错误,无效代码的问题是在函数determineWinner中,您有两个名为userChoicecomputerChoice的变量。但是,错误地,您正在使用getUserChoicegetComputerChoice



const getUserChoice = (userInput) => {
  userInput = userInput.toLowerCase();
  if (userInput === 'rock' || userInput === 'paper' || userInput === 'scissors') {
    return userInput;
  } else {
    console.log('Error!');
  }
}

const getComputerChoice = () => {
  switch (Math.floor(Math.random() * 3)) {
    case 0:
      return 'rock';
    case 1:
      return 'paper';
    case 2:
      return 'scissors';
  }
}

const determineWinner = (userChoice, computerChoice) => {
  if (userChoice === computerChoice) {
    return 'the game was a tie';
  }

  if (userChoice === 'rock') {
    if (computerChoice === 'paper') {
      return 'computer won!';
    } else {
      return 'you won!';
    }
  }
  if (userChoice === 'paper') {
    if (computerChoice === 'scissors') {
      return 'computer won!';
    } else {
      return 'you won!';
    }
  }
  if (userChoice === 'scissors') {
    if (computerChoice === 'rock') {
      return 'computer won!';
    } else {
      return 'you won!';
    }
  }
}
const playGame = () => {
  const userChoice = getUserChoice('rock');
  const computerChoice = getComputerChoice();
  console.log(`You threw: ${userChoice}`);
  console.log(`The computer threw: ${computerChoice}`);
  console.log(determineWinner(userChoice, computerChoice));
};

playGame();

关于javascript - JavaScript抛出未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51340118/

10-11 14:17