Рубрики
Без рубрики

JavaScript: генерировать случайное число в диапазоне

В этом уроке мы перейдем к тому, как генерировать случайное число в диапазоне использования JavaScript с примерами.

Автор оригинала: Abhilash Kakumanu.

Вступление

Мы, как разработчики программного обеспечения часто спотыкаются на ситуации, когда нам нужно вставить дозу случайности в наш код.

В этой статье мы посмотрим, как генерировать случайные числа в JavaScript. Мы также коснусь нескольких встроенных методов для решения случайных чисел. К концу мы предоставим эти знания хорошему использованию, написав функцию для имитации шестисторонней смерти.

Генерация случайных чисел в JavaScript

Math.random () в JavaScript генерирует случайное число с плавающей точкой (десятичное). 0 и 1 (включительно 0, но не 1). Давайте проверим это, позвонив:

console.log(Math.random())

Это выводит номер с плавающей запятой, аналогичный:

0.9261766792243478

Это полезно, если вы имеете дело с процентами, как и любое значение между 0 и 1 , округлые до двух десятичных знаков, можно считать процентилем.

Генерация случайных целых чисел в диапазоне

Мы обычно не имеем дело с числами с плавающей точкой в диапазоне от 0 до 1, хотя. Итак, давайте посмотрим на путь к круглым номерам с плавающей точкой.

Мы можем раунд вниз Номер с плавающей точкой, используя Math.floor () Отказ Аналогично, мы можем вокруг Номер через Math.Ceil () Функция:

console.log(Math.floor(3.6))
console.log(Math.ceil(3.6))

Это даст нам выход:

3
4

Давайте сгенерим случайное число между мин и Макс , не включая Макс :

function randomNumber(min, max){
    const r = Math.random()*(max-min) + min
    return Math.floor(r)
}

В качестве альтернативы, мы могли бы включить Макс с Math.Ceil () функция вместо этого.

Мы умножаемся с (Макс-мин) преобразовать диапазон [0,1) в [0, Макс-мин ). Далее, чтобы получить случайное число в требуемом диапазоне, мы добавляем мин Отказ Наконец, мы округливаем это к целому числу, используя Math.floor () Отказ

Давайте назовем этот метод несколько раз и соблюдайте результаты:

for (var i = 0; i < 10; i++) {
  console.log(randomNumber(0, 10))
}

Это выводят что-то подобное:

8
3
3
0
1
1
8
2
8
8

Заключение

Генерация псевдослучайных чисел в программе можно использовать для моделирования непредсказуемости вражеской в игре, или для рандомизации лесов в блок-подобной игре, которую мы все знаем и любим. Он также может быть использован для моделирования случайных входов при тестировании другой программы, которую вы написали.

В любом случае, генерируя случайное число, является важным инструментом в любом инструменте инженера, а также следует максимально расширить методы и алгоритмы различных генераций. Эта статья была только первым шагом обучения случайного поколения случаев.