diff options
| -rw-r--r-- | die.cpp | 10 | ||||
| -rw-r--r-- | die.h | 2 |
2 files changed, 9 insertions, 3 deletions
@@ -25,13 +25,16 @@ #include <QDateTime> #include <QDebug> + Die::Die() - : m_hasValue(false),m_displayStatus(false),m_highlighted(true),m_base(1),m_color("") + : m_hasValue(false),m_displayStatus(false),m_highlighted(true),m_base(1),m_color("")//,m_mt(m_randomDevice) { uint seed = quintptr(this) + QDateTime::currentDateTime().toMSecsSinceEpoch(); + qsrand(seed); + } Die::Die(const Die& die) { @@ -99,7 +102,10 @@ void Die::roll(bool adding) { if(m_faces!=0) { - quint64 value=(qrand()%m_faces)+m_base; + //quint64 value=(qrand()%m_faces)+m_base; + std::random_device rd; + std::uniform_int_distribution<qint64> dist(m_base,m_faces); + qint64 value = dist(rd); if((adding)||(m_rollResult.isEmpty())) { insertRollValue(value); @@ -24,7 +24,7 @@ #include <QList> #include <QString> - +#include <random> /** * @brief The Die class implements all methods required from a die. You must set the Faces first, then you can roll it and roll it again, to add or replace the previous result. */ |