From 66bc25319591a8e1b4688285c4a441faa1d78437 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sun, 26 May 2013 05:31:44 +0200 Subject: [PATCH] Moved seed initialization into rrand(). --- roguelike.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roguelike.c b/roguelike.c index 7b2d159..c91c407 100644 --- a/roguelike.c +++ b/roguelike.c @@ -8,13 +8,12 @@ #include "roguelike.h" #include "keybindings.h" -static uint32_t seed = 0; - uint16_t rrand() { // Pseudo-random number generator (LGC algorithm). Use instead of rand() to ensure portable predictability. uint32_t a = 1103515245; // Values for a and b as recommended by POSIX.1-2001 (see man page rand(3)). uint16_t b = 12345; uint32_t mod = 2147483648; + static uint32_t seed = 0; seed = ((seed * a) + b) % mod; return (seed / 65536); } // Ignore least significant 16 bits (they are less random). -- 2.30.2