我试图做一个小游戏,您是否必须猜测计算机会选择哪个数字。接近数字的选秀权将获胜。现在,我不知道如何编写一个if / switch来比较这些值并选择一个更接近secretNumber的值。

这是我目前用于评估谁获胜的代码。如您所见,我只能与人数与秘密人数完全相同的获胜者一起工作。

    if (user1Guess == user2Guess && user1Guess == secretGuess) {
        console.log(`TIE!`)
    } else if (user1Guess == secretNumber && user2Guess !== secretNumber){
        console.log(`Player 1 wins!`)
    } else if (user1Guess !== secretNumber && user2Guess == secretNumber)
        {
        console.log(`Player 2 wins!`)
    };

最佳答案

取每个猜测与secretNumber之差的绝对值。最接近的猜测将是差异较小的猜测:

const user1Diff = Math.abs(user1Guess - secretGuess);
const user2Diff = Math.abs(user2Guess - secretGuess);
if (user1Diff === user2Diff) {
  console.log('Tie');
} else if (user1Diff > user2Diff) {
  console.log('Player 2 wins');
} else {
  console.log('Player 1 wins');
}

关于javascript - 如何选择最接近随机数的整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58319451/

10-11 05:36