diff options
Diffstat (limited to 'src/random.cpp')
-rw-r--r-- | src/random.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/random.cpp b/src/random.cpp new file mode 100644 index 0000000..e94b191 --- /dev/null +++ b/src/random.cpp @@ -0,0 +1,27 @@ +#include "random.hpp" +#include <chrono> +#include <cmath> + +namespace ur { + +Random::Random(int min, int max) +{ + this->min = min; + this->max = max; + // setup the random stuff + unsigned seed = std::chrono::system_clock::now().time_since_epoch().count(); + this->engine = std::default_random_engine(seed); + + // setup distribution + float range = float(max - min); + this->distribution = + std::normal_distribution<float>(range / 2.f, range / 4.f); +} + +int +Random::next() +{ + return std::round(this->distribution(this->engine)); +} + +} |