Magic-number elimination.

This commit is contained in:
Eric S. Raymond 2017-07-02 13:22:50 -04:00
parent 73278b1a3c
commit 346bcf9458
4 changed files with 6 additions and 5 deletions

View file

@ -825,7 +825,7 @@ static int lock(token_t verb, token_t obj)
return bivalve(verb, obj); return bivalve(verb, obj);
if (obj == DOOR) if (obj == DOOR)
spk = RUSTY_DOOR; spk = RUSTY_DOOR;
if (obj == DOOR && game.prop[DOOR] == 1) if (obj == DOOR && game.prop[DOOR] == DOOR_UNRUSTED)
spk = OK_MAN; spk = OK_MAN;
if (obj == CAGE) if (obj == CAGE)
spk = NO_LOCK; spk = NO_LOCK;
@ -869,7 +869,7 @@ static int pour(token_t verb, token_t obj)
rspeak(spk); rspeak(spk);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
if (HERE(URN) && game.prop[URN] == 0) if (HERE(URN) && game.prop[URN] == URN_EMPTY)
return fill(verb, URN); return fill(verb, URN);
game.prop[BOTTLE] = EMPTY_BOTTLE; game.prop[BOTTLE] = EMPTY_BOTTLE;
game.place[obj] = LOC_NOWHERE; game.place[obj] = LOC_NOWHERE;
@ -952,7 +952,7 @@ static int rub(token_t verb, token_t obj)
int spk = actions[verb].message; int spk = actions[verb].message;
if (obj != LAMP) if (obj != LAMP)
spk = PECULIAR_NOTHING; spk = PECULIAR_NOTHING;
if (obj == URN && game.prop[URN] == 2) { if (obj == URN && game.prop[URN] == URN_LIT) {
DESTROY(URN); DESTROY(URN);
drop(AMBER, game.loc); drop(AMBER, game.loc);
game.prop[AMBER] = 1; game.prop[AMBER] = 1;

View file

@ -19,6 +19,7 @@
#define PANICTIME 15 // time left after closing #define PANICTIME 15 // time left after closing
#define BATTERYLIFE 2500 // turn limit increment from batteries #define BATTERYLIFE 2500 // turn limit increment from batteries
#define WORD_NOT_FOUND -1 // "Word not found" flag value for the vocab hash functions. #define WORD_NOT_FOUND -1 // "Word not found" flag value for the vocab hash functions.
#define NOT_YET_FOUND -1 // 'Not found" state of treasures */
#define CARRIED -1 // Player is toting it #define CARRIED -1 // Player is toting it
#define READ_MODE "rb" // b is not needed for POSIX but harmless #define READ_MODE "rb" // b is not needed for POSIX but harmless
#define WRITE_MODE "wb" // b is not needed for POSIX but harmless #define WRITE_MODE "wb" // b is not needed for POSIX but harmless

2
init.c
View file

@ -92,7 +92,7 @@ long initialise(void)
for (int treasure = 1; treasure <= NOBJECTS; treasure++) { for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
if (objects[treasure].is_treasure) { if (objects[treasure].is_treasure) {
if (objects[treasure].inventory != 0) if (objects[treasure].inventory != 0)
game.prop[treasure] = -1; game.prop[treasure] = NOT_YET_FOUND;
game.tally = game.tally - game.prop[treasure]; game.tally = game.tally - game.prop[treasure];
} }
} }

2
main.c
View file

@ -185,7 +185,7 @@ static void checkhints(void)
game.hintlc[hint] = 0; game.hintlc[hint] = 0;
return; return;
case 4: /* dark */ case 4: /* dark */
if (game.prop[EMERALD] != -1 && game.prop[PYRAMID] == -1) if (game.prop[EMERALD] != NOT_YET_FOUND && game.prop[PYRAMID] == NOT_YET_FOUND)
break; break;
game.hintlc[hint] = 0; game.hintlc[hint] = 0;
return; return;