projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move PRNG initialization to simplify cheat.c
[open-adventure.git]
/
init.c
diff --git
a/init.c
b/init.c
index 4d05e0fa03c6b4ff02f2f1541c0c61ab228a3ef9..fdde548f879c5e83db88d0f60ae478a5dfa89c94 100644
(file)
--- a/
init.c
+++ b/
init.c
@@
-2,6
+2,7
@@
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
+#include <time.h>
#include "advent.h"
#include "advent.h"
@@
-9,11
+10,20
@@
* Initialisation
*/
* Initialisation
*/
-
void
initialise(void)
+
long
initialise(void)
{
if (oldstyle)
printf("Initialising...\n");
{
if (oldstyle)
printf("Initialising...\n");
+ /* Initialize our LCG PRNG with parameters tested against
+ * Knuth vol. 2. by the original authors */
+ game.lcg_a = 1093;
+ game.lcg_c = 221587;
+ game.lcg_m = 1048576;
+ srand(time(NULL));
+ long seedval = (long)rand();
+ set_seed(seedval);
+
for (int i = 1; i <= NOBJECTS; i++) {
game.place[i] = LOC_NOWHERE;
}
for (int i = 1; i <= NOBJECTS; i++) {
game.place[i] = LOC_NOWHERE;
}
@@
-57,4
+67,6
@@
void initialise(void)
}
}
game.conds = setbit(11);
}
}
game.conds = setbit(11);
+
+ return seedval;
}
}