From ed4de87f2518c63fc8a463b0f600ce37eb4749c4 Mon Sep 17 00:00:00 2001 From: obiwankennedy Date: Wed, 8 Jan 2014 18:02:50 +0100 Subject: Update die.cpp -put rolling die as method of die class --- die.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/die.cpp b/die.cpp index 4a968a3..7ab78e9 100644 --- a/die.cpp +++ b/die.cpp @@ -1,10 +1,17 @@ +#include + #include "die.h" +#include + Die::Die() : m_hasValue(false) { + uint seed = quintptr(this) + QDateTime::currentDateTime().toMSecsSinceEpoch(); + qsrand(seed); } + void Die::setValue(qint64 r) { m_value = r; @@ -48,3 +55,28 @@ bool Die::hasChildrenValue() { return m_rollResult.size()>1?true:false; } +void Die::replaceLastValue(qint64 value) +{ + m_rollResult.removeLast(); + insertRollValue(value); +} + +void Die::roll(bool adding) +{ + quint64 value=(qrand()%m_faces)+1; + + if((adding)||(m_rollResult.isEmpty())) + { + insertRollValue(value); + } + else + { + replaceLastValue(value); + } +} + + +void Die::setFaces(quint64 face) +{ + m_faces=face; +} -- cgit v1.2.3-70-g09d2