diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-04-23 00:15:11 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-04-23 00:15:11 -0400 |
commit | b65d47403981d67f21137302d92ad255a98a1af5 (patch) | |
tree | d6fa0874f860faaa4d66f06345b0e3a00c0f611f | |
parent | ff59bf74f2e69c385f25ce2931507dbbbd6bebb2 (diff) | |
download | sigen-b65d47403981d67f21137302d92ad255a98a1af5.tar.gz sigen-b65d47403981d67f21137302d92ad255a98a1af5.tar.xz sigen-b65d47403981d67f21137302d92ad255a98a1af5.zip |
Use drand48() instead of qrand() since it's more fair
-rw-r--r-- | sigbattle/Sigbattle.cpp | 1 | ||||
-rw-r--r-- | sigcore/Fraction.cpp | 7 | ||||
-rw-r--r-- | sigcore/Hat.h | 5 | ||||
-rw-r--r-- | sigmodr/Sigmodr.cpp | 1 |
4 files changed, 11 insertions, 3 deletions
diff --git a/sigbattle/Sigbattle.cpp b/sigbattle/Sigbattle.cpp index bf1e8953..638c2198 100644 --- a/sigbattle/Sigbattle.cpp +++ b/sigbattle/Sigbattle.cpp @@ -52,6 +52,7 @@ static void messageHandler(QtMsgType type, const char* message) int main(int argc, char* argv[]) { qInstallMsgHandler(messageHandler); + srand48(time(NULL)); // TODO KAboutData about("sigbattle", "sigbattle", ki18n("Sigbattle"), "0.1.1", ki18n(""), KAboutData::License_GPL_V3, ki18n("©2009 Ben Boeckel"), ki18n("This program offers a way to battle with creatures from a Sigmod."), ""); diff --git a/sigcore/Fraction.cpp b/sigcore/Fraction.cpp index 6d3b9643..665d6b6c 100644 --- a/sigcore/Fraction.cpp +++ b/sigcore/Fraction.cpp @@ -22,6 +22,9 @@ // Header include #include "Fraction.h" +// Standard includes +#include <cstdlib> + using namespace Sigcore; Fraction::Fraction(const int numerator, const int denominator) @@ -77,12 +80,12 @@ void Fraction::reduce() bool Fraction::poll() const { - return (qrand() % m_denominator) < m_numerator; + return (drand48() * m_denominator) < m_numerator; } bool Fraction::poll(const int numerator, const int denominator) { - return (qrand() % denominator) < numerator; + return (drand48() * denominator) < numerator; } Fraction& Fraction::operator=(const Fraction& rhs) diff --git a/sigcore/Hat.h b/sigcore/Hat.h index 87ea6b3d..acbb070b 100644 --- a/sigcore/Hat.h +++ b/sigcore/Hat.h @@ -30,6 +30,9 @@ #include <QtCore/QtGlobal> #include <QtCore/QMap> +// Standard includes +#include <cstdlib> + namespace Sigcore { /** @@ -112,7 +115,7 @@ template<class T> inline T Hat<T>::pick() const { if (!m_count) return T(); - int choice = qrand() % m_count; + int choice = drand48() * m_count; QList<T> keys = m_items.keys(); foreach (const T& key, keys) { diff --git a/sigmodr/Sigmodr.cpp b/sigmodr/Sigmodr.cpp index a1b45164..9336551d 100644 --- a/sigmodr/Sigmodr.cpp +++ b/sigmodr/Sigmodr.cpp @@ -52,6 +52,7 @@ static void messageHandler(QtMsgType type, const char* message) int main(int argc, char* argv[]) { qInstallMsgHandler(messageHandler); + srand48(time(NULL)); // TODO KAboutData about("sigmodr", "sigmodr", ki18n("Sigmodr"), "0.1.1", ki18n(""), KAboutData::License_GPL_V3, ki18n("©2007-2009 Ben Boeckel"), ki18n("This program offers an easy interface so that Sigmods can be easily created."), ""); |