Magic-number elimination.

This commit is contained in:
Eric S. Raymond 2017-07-04 14:40:10 -04:00
parent f37a413524
commit abf820bb5c
4 changed files with 7 additions and 8 deletions

View file

@ -386,8 +386,8 @@ static int vcarry(token_t verb, token_t obj)
carry(obj, game.loc); carry(obj, game.loc);
if (obj == BOTTLE && LIQUID() != NO_OBJECT) if (obj == BOTTLE && LIQUID() != NO_OBJECT)
game.place[LIQUID()] = CARRIED; game.place[LIQUID()] = CARRIED;
if (GSTONE(obj) && game.prop[obj] != STATE_GROUND) { if (GSTONE(obj) && game.prop[obj] != STATE_FOUND) {
game.prop[obj] = STATE_GROUND; game.prop[obj] = STATE_FOUND;
game.prop[CAVITY] = CAVITY_EMPTY; game.prop[CAVITY] = CAVITY_EMPTY;
} }
rspeak(OK_MAN); rspeak(OK_MAN);
@ -662,7 +662,7 @@ static int feed(token_t verb, token_t obj)
DESTROY(FOOD); DESTROY(FOOD);
game.prop[BEAR] = SITTING_BEAR; game.prop[BEAR] = SITTING_BEAR;
game.fixed[AXE] = 0; game.fixed[AXE] = 0;
game.prop[AXE] = 0; game.prop[AXE] = AXE_HERE;
spk = BEAR_TAMED; spk = BEAR_TAMED;
} }
} else if (obj == OGRE) { } else if (obj == OGRE) {
@ -1110,7 +1110,6 @@ static int say(struct command_t *command)
char word1[TOKLEN + 1]; char word1[TOKLEN + 1];
packed_to_token(command->wd1, word1); packed_to_token(command->wd1, word1);
int wd = (int) get_vocab_id(word1); int wd = (int) get_vocab_id(word1);
/* FIXME: magic numbers */
if (wd == MOTION_WORD(XYZZY) || if (wd == MOTION_WORD(XYZZY) ||
wd == MOTION_WORD(PLUGH) || wd == MOTION_WORD(PLUGH) ||
wd == MOTION_WORD(PLOVER) || wd == MOTION_WORD(PLOVER) ||
@ -1224,7 +1223,7 @@ static int wave(token_t verb, token_t obj)
if (game.prop[BIRD] == BIRD_UNCAGED && game.loc == game.place[STEPS] && game.prop[JADE] < 0) { if (game.prop[BIRD] == BIRD_UNCAGED && game.loc == game.place[STEPS] && game.prop[JADE] < 0) {
drop(JADE, game.loc); drop(JADE, game.loc);
game.prop[JADE] = 0; game.prop[JADE] = STATE_FOUND;
--game.tally; --game.tally;
rspeak(NECKLACE_FLY); rspeak(NECKLACE_FLY);
return GO_CLEAROBJ; return GO_CLEAROBJ;

View file

@ -27,7 +27,7 @@
/* Special object-state values - integers > 0 are object-specific */ /* Special object-state values - integers > 0 are object-specific */
#define STATE_NOTFOUND -1 // 'Not found" state of treasures */ #define STATE_NOTFOUND -1 // 'Not found" state of treasures */
#define STATE_GROUND 0 // After discovered, before messed with #define STATE_FOUND 0 // After discovered, before messed with
#define STATE_IN_CAVITY 1 // State value common to all gemstones #define STATE_IN_CAVITY 1 // State value common to all gemstones
/* Map a state property value to a negative range, where the object cannot be /* Map a state property value to a negative range, where the object cannot be

2
main.c
View file

@ -915,7 +915,7 @@ static void listobjects(void)
if (game.prop[obj] < 0) { if (game.prop[obj] < 0) {
if (game.closed) if (game.closed)
continue; continue;
game.prop[obj] = 0; game.prop[obj] = STATE_FOUND;
if (obj == RUG) if (obj == RUG)
game.prop[RUG] = RUG_DRAGON; game.prop[RUG] = RUG_DRAGON;
if (obj == CHAIN) if (obj == CHAIN)

View file

@ -47,7 +47,7 @@ long score(enum termination mode)
k = 16; k = 16;
if (game.prop[i] > STATE_NOTFOUND) if (game.prop[i] > STATE_NOTFOUND)
score += 2; score += 2;
if (game.place[i] == LOC_BUILDING && game.prop[i] == STATE_GROUND) if (game.place[i] == LOC_BUILDING && game.prop[i] == STATE_FOUND)
score += k - 2; score += k - 2;
mxscor += k; mxscor += k;
} }