From d579c1663b71ba755c10e59e0e7208cc453465b9 Mon Sep 17 00:00:00 2001 From: Mattrixwv Date: Sat, 3 Jul 2021 02:39:50 -0400 Subject: [PATCH] Updated for uniformity and random now working --- headers/mee/Dice.hpp | 44 +++++++++++++++++---------------------- headers/mee/Stopwatch.hpp | 13 +++++++----- test/mee/testDice.cpp | 2 +- 3 files changed, 28 insertions(+), 31 deletions(-) diff --git a/headers/mee/Dice.hpp b/headers/mee/Dice.hpp index 999d687..4f7e275 100644 --- a/headers/mee/Dice.hpp +++ b/headers/mee/Dice.hpp @@ -1,11 +1,10 @@ -//myClasses/Dice.hpp +//myClasses/headers/mee/Dice.hpp //Matthew Ellison -// Created: 1-26-19 -//Modified: 1-26-19 +// Created: 01-26-19 +//Modified: 07-02-21 //This is a simple class to simulate a dice for games -///This file has to be modified slightly to work with windows because the random_device does not work correctly /* - Copyright (C) 2018 Matthew Ellison + Copyright (C) 2021 Matthew Ellison This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -20,19 +19,11 @@ You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ - -#ifndef DICE_HPP -#define DICE_HPP +#ifndef MEE_DICE_HPP +#define MEE_DICE_HPP #include -#include -//Use this for anything besides Linux. It replaces random_device -//I know this doesn't work correctly with mingw on Windows, not sure about msbuild or mac so I don't take the chance -#ifndef __linux -#include -#endif //ifndef linux - namespace mee{ @@ -41,25 +32,28 @@ template class Dice{ private: T face; //Holds the currently rolled number - T sides; //Holds the number of sides the dice has + T sides; //Holds the number of sides the dice has std::default_random_engine generator; //The number generator that all the numbers come from std::uniform_int_distribution dist; //A distribution to make sure the numbers come out relatively evenly public: - #ifdef __linux - Dice(T sides = 6) : face(1), sides(sides), generator(std::random_device{}()), dist(1, sides) { } - #else - Dice(T sides = 6) : face(1), sides(sides), generator(time(0)), dist(1, sides) { } - #endif //ifdef linux + Dice(T sides = 6) : face(1), sides(sides), generator(std::random_device{}()), dist(1, sides){ + } //Setup ways to get information from the class - T getFace() const { return face; } - T getSides() const { return sides; } + T getFace() const{ + return face; + } + T getSides() const{ + return sides; + } //Used to simulate rolling the dice. Returns the new number - T roll() { + T roll(){ face = dist(generator); return face; } }; + } //namespace mee -#endif //DICE_HPP + +#endif //MEE_DICE_HPP diff --git a/headers/mee/Stopwatch.hpp b/headers/mee/Stopwatch.hpp index 035d1fb..c67f223 100644 --- a/headers/mee/Stopwatch.hpp +++ b/headers/mee/Stopwatch.hpp @@ -19,17 +19,18 @@ You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ - - -#ifndef STOPWATCH_HPP -#define STOPWATCH_HPP +#ifndef MEE_STOPWATCH_HPP +#define MEE_STOPWATCH_HPP #include #include #include + namespace mee{ + + class Stopwatch{ public: //Create an error class @@ -202,6 +203,8 @@ std::ostream& operator<<(std::ostream& out, Stopwatch& timer){ bool num = timer.hasStopped; return out; } + + } //end namespace mee -#endif //end STOPWATCH_HPP +#endif //end MEE_STOPWATCH_HPP diff --git a/test/mee/testDice.cpp b/test/mee/testDice.cpp index 70edcb8..7d9e4b8 100644 --- a/test/mee/testDice.cpp +++ b/test/mee/testDice.cpp @@ -25,7 +25,7 @@ #include #include "Dice.hpp" -const uint64_t LENGTH_OF_TEST = 100; //How many times the dice will get rolled * the number of sides +const uint64_t LENGTH_OF_TEST = 100; //How many times the dice will get rolled * the number of sides int main(){