| 1234567891011121314151617181920212223242526272829 |
- //
- // random.h
- // dice-roll
- //
- // Created by Sam Jaffe on 12/1/18.
- // Copyright © 2018 Sam Jaffe. All rights reserved.
- //
- #pragma once
- #include <shared_random_generator/random.h>
- namespace dice { namespace engine {
- class random : private ::engine::random_number_generator {
- using super = ::engine::random_number_generator;
- public:
- using super::random_number_generator;
- /**
- * @brief Roll 1dN
- * @param sides The number of sides (N) on a die. e.g. d20
- * Domain: sides > 0
- * @return A number in the range [1, N]
- * @throws Produces UB if sides = 0
- */
- unsigned int roll(unsigned int sides) const {
- return super::exclusive(sides) + 1;
- }
- };
- }}
|