aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2016-11-03 17:38:22 +0100
committerRenaud G <renaud@rolisteam.org>2016-11-03 17:38:22 +0100
commita2732c6091e2220bf49de5b0b9b63777d6ab4d0f (patch)
tree17b9828a298849cb8c385804a661de1bc240097c
parent3469ef7a412d82c2ea8c341ea58aa9b3d8aba22e (diff)
parent852259b33141281693efa8ccfec4d62affdaab82 (diff)
downloadOneRoll-a2732c6091e2220bf49de5b0b9b63777d6ab4d0f.tar.gz
OneRoll-a2732c6091e2220bf49de5b0b9b63777d6ab4d0f.zip
Merge branch 'master' of github.com:Rolisteam/DiceParser
-rw-r--r--die.cpp12
-rw-r--r--die.h2
2 files changed, 8 insertions, 6 deletions
diff --git a/die.cpp b/die.cpp
index 4dd61de..e423268 100644
--- a/die.cpp
+++ b/die.cpp
@@ -29,11 +29,12 @@
Die::Die()
: 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);
+// uint seed = quintptr(this) + QDateTime::currentDateTime().toMSecsSinceEpoch();
+ // qsrand(seed);
+ auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
+ m_rng = std::mt19937(quintptr(this)+seed);
}
Die::Die(const Die& die)
@@ -103,10 +104,9 @@ void Die::roll(bool adding)
if(m_faces!=0)
{
//quint64 value=(qrand()%m_faces)+m_base;
- auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
- std::mt19937 rng(quintptr(this)+seed);
+
std::uniform_int_distribution<qint64> dist(m_base,m_faces);
- qint64 value = dist(rng);
+ qint64 value = dist(m_rng);
if((adding)||(m_rollResult.isEmpty()))
{
insertRollValue(value);
diff --git a/die.h b/die.h
index e29f10d..6f3af8c 100644
--- a/die.h
+++ b/die.h
@@ -138,6 +138,8 @@ private:
quint64 m_faces;
qint64 m_base;
QString m_color;
+
+ std::mt19937 m_rng;
};