Ensure the ZZZZ magic word is reproducible.

This happens by making the SEED command also regenerate the magic word.
This commit is contained in:
Jason S. Ninneman 2017-05-26 16:34:16 -07:00 committed by Eric S. Raymond
parent d39325f963
commit c41dd35268
3 changed files with 66 additions and 0 deletions

2
main.c
View file

@ -148,6 +148,8 @@ static bool fallback_handler(signed char *buf)
if (sscanf(buf, "seed %ld", &sv) == 1) {
set_seed(sv);
printf("Seed set to %ld\n", sv);
// here we reconfigure any global game state that uses random numbers
ZZWORD=RNDVOC(3,0)+MESH*2;
return true;
}
return false;

View file

@ -7,6 +7,7 @@ You are standing at the end of a road before a small brick building.
Around you is a forest. A small stream flows out of the building and
down a gully.
<<<<<<< HEAD
> seed 1495763690
Seed set to 1495763690
@ -14,6 +15,10 @@ You're in front of building.
> seed 1495752222
Seed set to 1495752222
=======
> seed 1494912171
Seed set to 1494912171
>>>>>>> f9eca41 (Ensure the ZZZZ magic word is reproducible.)
You're in front of building.

59
tests/dwarf.log Normal file
View file

@ -0,0 +1,59 @@
## Death by dwarf.
n
seed 1494912171
in
take keys
take lamp
out
down
s
s
open grate
down
west
take cage
west
light lamp
take rod
xyzzy
xyzzy
west
drop rod
west
take bird
east
take rod
west
west
down
south
take gold
n
n
drop bird
west
take coins
e
s
drop cage
take jewelry
take axe
n
n
n
plugh
inven
drop jewelry
drop gold
inven
drop keys
plugh
s
s
up
w
wave rod
w
take diamonds
e
n