猜数字 – 创建数字范围 JavaScript

Guess the number – creating number range JavaScript

我目前正在尝试使用 Javascript 创建一个猜数字游戏。我已将代码设置为根据输入的数字显示不同的输出。

但是,我想为此添加范围。例如,如果猜测在 10 以内、高于或低于 10,则输出应为 "Almost"。但是,如果用户超出此范围,则应该读取不同的内容。

我应该使用什么操作?目前我正在使用:

    if(userGuess < randomNumber) {
            lowOrHi.textContent = 'Your guess is out by 10 – please guess again!';

但这并没有反映我想要的范围。

您可以使用绝对值来获取 userGuessrandomNumber

之间的距离

你可以通过Math.abs

获得

const randomNumber = 4 // chosen by fair dice roll.
                       // guaranteed to be random.
                   
let userGuesses = [42, -15, 2]

for (let guess of userGuesses) {
  if (Math.abs(guess - randomNumber) <= 5) {
    // the guess is in the range [random - 5; random + 5]
    console.log(`guess ${guess} is very close`)
  } else if (Math.abs(guess - randomNumber) <= 20) {
    // the guess is in the range [random - 20; random + 20]
    console.log(`guess ${guess} is not that far`)
  } else {
    console.log(`guess ${guess} is pretty far`)
  }
}
如您所见,如果您低于或超过通缉号码,它就会起作用

你应该检查猜出的数字和随机数之间的差异是否在 10 的范围内。

var difference = Math.abs(userGuess - randomNumber);
if(difference > 10) {
    lowOrHi.textContent = 'Your guess is out by 10 – please guess again!';
} else {
    lowOrHi.textContent = 'Your guess is almost correct!';
}

尝试以下方法

if((userGuess-randomNumber)<-10||(userGuess-randomNumber)>10) {
    console.log('Your guess is out by 10 – please guess again!');}
else {
    console.log("Almost");
}