summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-04-23 00:15:11 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-04-23 00:15:11 -0400
commitb65d47403981d67f21137302d92ad255a98a1af5 (patch)
treed6fa0874f860faaa4d66f06345b0e3a00c0f611f
parentff59bf74f2e69c385f25ce2931507dbbbd6bebb2 (diff)
downloadsigen-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.cpp1
-rw-r--r--sigcore/Fraction.cpp7
-rw-r--r--sigcore/Hat.h5
-rw-r--r--sigmodr/Sigmodr.cpp1
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."), "");