1#ifndef EILEMITWEILE_DICE_HPP
2#define EILEMITWEILE_DICE_HPP
3#include "common/serialization/unique_serializable.hpp"
4#include "common/serialization/serializable_value.hpp"
19 Dice(std::string
id,
unsigned number,
unsigned six_counter);
28 rapidjson::Document::AllocatorType& allocator)
const override;
34 std::random_device
_rd;
36 std::uniform_int_distribution<>
_distr = std::uniform_int_distribution<>(1, 6);
wrapper of a simple RNG with a uniform distribution from 1 to 6
Definition Dice.hpp:16
static Dice * FromJson(const rapidjson::Value &json)
Definition Dice.cpp:48
void WriteIntoJson(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override
Definition Dice.cpp:57
void ResetSixCounter()
Definition Dice.cpp:36
SerializableValue< unsigned > * _number
Definition Dice.hpp:37
std::uniform_int_distribution _distr
Definition Dice.hpp:36
unsigned RollDice()
Definition Dice.cpp:27
Dice(std::string id, SerializableValue< unsigned int > *number, SerializableValue< unsigned int > *six_counter)
unsigned GetSixCounter()
Definition Dice.cpp:40
SerializableValue< unsigned > * _six_counter
Definition Dice.hpp:38
std::random_device _rd
Definition Dice.hpp:34
unsigned GetNumber()
Definition Dice.cpp:44
std::mt19937 _gen
Definition Dice.hpp:35
A serializable value, used for writing values into json.
Definition serializable_value.hpp:28
Used to serialize game_state objects that need to be identifiable by a unique id.
Definition unique_serializable.hpp:14