Magic-number elimination and fix
More test coverage for some of the cases
This commit is contained in:
parent
da6a090b83
commit
ca7ac4063f
6 changed files with 3414 additions and 7 deletions
10
actions.c
10
actions.c
|
@ -113,12 +113,12 @@ static int attack(struct command_t *command)
|
|||
state_change(DRAGON, DRAGON_DEAD);
|
||||
game.prop[RUG] = RUG_FLOOR;
|
||||
/* Hardcoding LOC_SECRET5 as the dragon's death location is ugly.
|
||||
* The way it was computed before was wirse; it depended on the
|
||||
* The way it was computed before was worse; it depended on the
|
||||
* two dragon locations being LOC_SECRET4 and LOC_SECRET6 and
|
||||
* LOC_SECRET5 being right between them.
|
||||
*/
|
||||
move(DRAGON + NOBJECTS, -1);
|
||||
move(RUG + NOBJECTS, LOC_NOWHERE);
|
||||
move(DRAGON + NOBJECTS, IS_FIXED);
|
||||
move(RUG + NOBJECTS, IS_FREE);
|
||||
move(DRAGON, LOC_SECRET5);
|
||||
move(RUG, LOC_SECRET5);
|
||||
drop(BLOOD, LOC_SECRET5);
|
||||
|
@ -493,7 +493,7 @@ static int discard(token_t verb, obj_t obj)
|
|||
} else if (obj == BEAR && AT(TROLL)) {
|
||||
state_change(TROLL, TROLL_GONE);
|
||||
move(TROLL, LOC_NOWHERE);
|
||||
move(TROLL + NOBJECTS, LOC_NOWHERE);
|
||||
move(TROLL + NOBJECTS, IS_FREE);
|
||||
move(TROLL2, objects[TROLL].plac);
|
||||
move(TROLL2 + NOBJECTS, objects[TROLL].fixd);
|
||||
juggle(CHASM);
|
||||
|
@ -1150,7 +1150,7 @@ static int throw (struct command_t *command)
|
|||
/* Snarf a treasure for the troll. */
|
||||
drop(command->obj, LOC_NOWHERE);
|
||||
move(TROLL, LOC_NOWHERE);
|
||||
move(TROLL + NOBJECTS, LOC_NOWHERE);
|
||||
move(TROLL + NOBJECTS, IS_FREE);
|
||||
drop(TROLL2, objects[TROLL].plac);
|
||||
drop(TROLL2 + NOBJECTS, objects[TROLL].fixd);
|
||||
juggle(CHASM);
|
||||
|
|
3
misc.c
3
misc.c
|
@ -607,7 +607,8 @@ void drop(obj_t object, loc_t where)
|
|||
--game.holdng;
|
||||
game.place[object] = where;
|
||||
}
|
||||
if (where <= 0)
|
||||
if (where == LOC_NOWHERE ||
|
||||
where == CARRIED)
|
||||
return;
|
||||
game.link[object] = game.atloc[where];
|
||||
game.atloc[where] = object;
|
||||
|
|
|
@ -24,6 +24,11 @@ z
|
|||
|
||||
Sorry, I don't know the word "Z".
|
||||
|
||||
go south
|
||||
|
||||
You are in a valley in the forest beside a stream tumbling along a
|
||||
rocky bed.
|
||||
|
||||
quit
|
||||
|
||||
Do you really want to quit now?
|
||||
|
@ -32,7 +37,7 @@ yes
|
|||
|
||||
OK
|
||||
|
||||
You scored 32 out of a possible 430, using 5 turns.
|
||||
You scored 32 out of a possible 430, using 6 turns.
|
||||
|
||||
You are obviously a rank amateur. Better luck next time.
|
||||
|
||||
|
|
|
@ -5,5 +5,6 @@ i
|
|||
l
|
||||
x
|
||||
z
|
||||
go south
|
||||
quit
|
||||
yes
|
||||
|
|
2928
tests/wakedwarves3.chk
Normal file
2928
tests/wakedwarves3.chk
Normal file
File diff suppressed because it is too large
Load diff
472
tests/wakedwarves3.log
Normal file
472
tests/wakedwarves3.log
Normal file
|
@ -0,0 +1,472 @@
|
|||
## Wake the dwarves differently and die.
|
||||
n
|
||||
seed 1838473132
|
||||
in
|
||||
take lamp
|
||||
xyzzy
|
||||
on
|
||||
take rod
|
||||
e
|
||||
take cage
|
||||
w
|
||||
w
|
||||
w
|
||||
drop rod
|
||||
take bird
|
||||
take rod
|
||||
w
|
||||
free bird
|
||||
wave rod
|
||||
take necklace
|
||||
drop rod
|
||||
take bird
|
||||
take rod
|
||||
d
|
||||
d
|
||||
free bird
|
||||
drop rod
|
||||
drop cage
|
||||
take cage
|
||||
take bird
|
||||
w
|
||||
take coins
|
||||
e
|
||||
s
|
||||
take jewelry
|
||||
n
|
||||
up
|
||||
s
|
||||
take gold
|
||||
n
|
||||
d
|
||||
n
|
||||
n
|
||||
plugh
|
||||
extinguish lamp
|
||||
drop coins
|
||||
drop jewelry
|
||||
drop necklace
|
||||
drop gold
|
||||
plugh
|
||||
on
|
||||
s
|
||||
take silver
|
||||
s
|
||||
sw
|
||||
take axe
|
||||
w
|
||||
kill dragon
|
||||
yes
|
||||
drink blood
|
||||
take rug
|
||||
e
|
||||
e
|
||||
up
|
||||
d
|
||||
n
|
||||
n
|
||||
off
|
||||
plugh
|
||||
inven
|
||||
drop rug
|
||||
drop silver
|
||||
out
|
||||
s
|
||||
w
|
||||
n
|
||||
take appendage
|
||||
free bird
|
||||
drop cage
|
||||
listen
|
||||
s
|
||||
s
|
||||
n
|
||||
in
|
||||
take water
|
||||
plugh
|
||||
on
|
||||
plover
|
||||
ne
|
||||
take pyramid
|
||||
s
|
||||
plover
|
||||
s
|
||||
s
|
||||
take rod
|
||||
up
|
||||
w
|
||||
wave rod
|
||||
drop rod
|
||||
west
|
||||
take diamonds
|
||||
w
|
||||
w
|
||||
w
|
||||
s
|
||||
sw
|
||||
se
|
||||
s
|
||||
kill machine
|
||||
s
|
||||
s
|
||||
kill ogre
|
||||
n
|
||||
take ruby
|
||||
s
|
||||
w
|
||||
n
|
||||
n
|
||||
n
|
||||
nw
|
||||
d
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
throw axe
|
||||
take axe
|
||||
n
|
||||
n
|
||||
n
|
||||
off
|
||||
plugh
|
||||
drop ruby
|
||||
drop diamonds
|
||||
drop pyramid
|
||||
plugh
|
||||
on
|
||||
s
|
||||
s
|
||||
u
|
||||
n
|
||||
n
|
||||
d
|
||||
bedquilt
|
||||
throw axe
|
||||
take axe
|
||||
slab
|
||||
s
|
||||
d
|
||||
water plant
|
||||
u
|
||||
w
|
||||
u
|
||||
reservoir
|
||||
H'CFL
|
||||
n
|
||||
n
|
||||
nw
|
||||
u
|
||||
u
|
||||
u
|
||||
u
|
||||
ne
|
||||
take ebony
|
||||
sw
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
take water
|
||||
s
|
||||
s
|
||||
s
|
||||
s
|
||||
d
|
||||
s
|
||||
d
|
||||
water plant
|
||||
u
|
||||
drop appendage
|
||||
e
|
||||
d
|
||||
get oil
|
||||
|
||||
u
|
||||
w
|
||||
d
|
||||
climb
|
||||
w
|
||||
n
|
||||
oil door
|
||||
drop bottle
|
||||
n
|
||||
take trident
|
||||
w
|
||||
d
|
||||
se
|
||||
n
|
||||
w
|
||||
drop trident
|
||||
drop ebony
|
||||
drop axe
|
||||
drop lantern
|
||||
e
|
||||
take emerald
|
||||
w
|
||||
take lamp
|
||||
take axe
|
||||
take ebony
|
||||
take trident
|
||||
nw
|
||||
s
|
||||
take vase
|
||||
se
|
||||
throw axe
|
||||
take axe
|
||||
e
|
||||
take pillow
|
||||
w
|
||||
drop axe
|
||||
ne
|
||||
e
|
||||
n
|
||||
open clam
|
||||
s
|
||||
u
|
||||
e
|
||||
u
|
||||
n
|
||||
off
|
||||
plugh
|
||||
drop pillow
|
||||
drop vase
|
||||
drop trident
|
||||
drop emerald
|
||||
drop ebony
|
||||
take keys
|
||||
take food
|
||||
plugh
|
||||
on
|
||||
s
|
||||
d
|
||||
w
|
||||
d
|
||||
n
|
||||
d
|
||||
d
|
||||
take pearl
|
||||
u
|
||||
u
|
||||
s
|
||||
w
|
||||
w
|
||||
w
|
||||
w
|
||||
d
|
||||
climb
|
||||
w
|
||||
get eggs
|
||||
n
|
||||
take bottle
|
||||
n
|
||||
w
|
||||
d
|
||||
sw
|
||||
u
|
||||
toss eggs
|
||||
ne
|
||||
ne
|
||||
barren
|
||||
in
|
||||
feed bear
|
||||
unlock chain
|
||||
take chain
|
||||
take bear
|
||||
fork
|
||||
ne
|
||||
e
|
||||
take spices
|
||||
drop keys
|
||||
fork
|
||||
w
|
||||
w
|
||||
sw
|
||||
free bear
|
||||
inven
|
||||
sw
|
||||
sw
|
||||
d
|
||||
se
|
||||
se
|
||||
w
|
||||
d
|
||||
get oil
|
||||
up
|
||||
e
|
||||
take axe
|
||||
w
|
||||
w
|
||||
d
|
||||
climb
|
||||
w
|
||||
fee
|
||||
fie
|
||||
foe
|
||||
foo
|
||||
take eggs
|
||||
s
|
||||
d
|
||||
u
|
||||
w
|
||||
u
|
||||
s
|
||||
e
|
||||
e
|
||||
n
|
||||
n
|
||||
off
|
||||
plugh
|
||||
drop eggs
|
||||
drop pearl
|
||||
drop spices
|
||||
drop chain
|
||||
take rug
|
||||
take ruby
|
||||
take emerald
|
||||
out
|
||||
w
|
||||
n
|
||||
n
|
||||
n
|
||||
inven
|
||||
fill urn
|
||||
light urn
|
||||
rub urn
|
||||
take amber
|
||||
drop rug
|
||||
drop emerald
|
||||
fly rug
|
||||
take sapphire
|
||||
fly rug
|
||||
take emerald
|
||||
drop ruby
|
||||
take rug
|
||||
drop bottle
|
||||
take ruby
|
||||
e
|
||||
s
|
||||
e
|
||||
e
|
||||
in
|
||||
drop ruby
|
||||
drop sapphire
|
||||
drop amber
|
||||
drop rug
|
||||
look
|
||||
plugh
|
||||
on
|
||||
s
|
||||
s
|
||||
u
|
||||
w
|
||||
w
|
||||
w
|
||||
s
|
||||
e
|
||||
s
|
||||
throw axe
|
||||
take axe
|
||||
s
|
||||
s
|
||||
n
|
||||
e
|
||||
e
|
||||
nw
|
||||
take emerald
|
||||
take chest
|
||||
se
|
||||
n
|
||||
d
|
||||
e
|
||||
e
|
||||
off
|
||||
xyzzy
|
||||
drop emerald
|
||||
drop chest
|
||||
plugh
|
||||
on
|
||||
s
|
||||
d
|
||||
w
|
||||
d
|
||||
e
|
||||
take magazine
|
||||
e
|
||||
drop magazine
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
u
|
||||
u
|
||||
e
|
||||
u
|
||||
n
|
||||
plover
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
e
|
||||
# Everything to here is from endgame428
|
||||
take rod
|
||||
drop rod
|
||||
take rod
|
||||
inven
|
||||
attack dwarf
|
Loading…
Add table
Add a link
Reference in a new issue