Qt, C++11, Random, qrand, qsrand, QRandomGenerator
Генерация случайных чисел может понадобиться, например, для расчёта урона от оружия в компьютерной игре или для представления графика из случайных чисел.
Qt предоставляет для генерации случайных числе функцию qrand , а также, начиная с Qt 5.10, класс QRandomGenerator.
Давайте разберём, как можно получить случайные значения в Qt, а также насколько они случайные.
qrandБудем генерировать числа в диапазоне значений от и до. Для этого напишем две функции.
- static int randomBetween(int low, int high)
- {
- return (qrand() % ((high + 1) - low) + low);
- }
- static int randomBetween(int low, int high, int seed)
- {
- qsrand(seed); // Установка базового числа для отсчёта рандома в qrand
- return (qrand() % ((high + 1) - low) + low);
- }
Первая функция просто генерирует случайное значение от наименьшего числа до наибольшего. Тогда как во второй с помощью функции qsrand устанавливается базовое число, которое служит основанием для генератора псевдослучайных числе Qt, от которого и генерируется число. Таким базовым числом может быть системное время в миллисекундах.
![]()
Это интересно
0
|
|||
Последние откомментированные темы: