From 07c5f6ec23fcf9237a24e71adcfacabce677f818 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Fri, 29 Apr 2022 10:48:09 +0200 Subject: Change file organization. --- src/libparser/node/dicerollernode.h | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/libparser/node/dicerollernode.h (limited to 'src/libparser/node/dicerollernode.h') diff --git a/src/libparser/node/dicerollernode.h b/src/libparser/node/dicerollernode.h new file mode 100644 index 0000000..52178cb --- /dev/null +++ b/src/libparser/node/dicerollernode.h @@ -0,0 +1,63 @@ +#ifndef DICEROLLERNODE_H +#define DICEROLLERNODE_H + +#include + +#include "executionnode.h" +#include "result/diceresult.h" +#include +/** + * @brief The DiceRollerNode class rolls dice of one kind. + */ +class DiceRollerNode : public ExecutionNode +{ +public: + /** + * @brief DiceRollerNode builds an instance + * @param faces, number of faces of dices + * @param offset, first value of dice. + */ + DiceRollerNode(qint64 max, qint64 min= 1); + + /** + * @brief run - starts to roll dice. + */ + virtual void run(ExecutionNode*); + /** + * @brief getFaces accessor + * @return the face count + */ + quint64 getFaces() const; + std::pair getRange() const; + + /** + * @brief toString + * @param wl + * @return use to generate dot tree; + */ + virtual QString toString(bool wl) const; + /** + * @brief getPriority + * @return priority for dice roll: 4 (higher) + */ + virtual qint64 getPriority() const; + + virtual ExecutionNode* getCopy() const; + + // private members + Dice::ArithmeticOperator getOperator() const; + void setOperator(const Dice::ArithmeticOperator& dieOperator); + + bool getUnique() const; + void setUnique(bool unique); + +private: + quint64 m_diceCount; + qint64 m_max; /// faces + DiceResult* m_diceResult{nullptr}; + qint64 m_min; + Dice::ArithmeticOperator m_operator; + bool m_unique{false}; +}; + +#endif // DICEROLLERNODE_H -- cgit v1.2.3-70-g09d2