Magic-number elimination.

This commit is contained in:
Eric S. Raymond 2017-06-06 11:12:00 -04:00
parent fd10d380df
commit 978168523a
7 changed files with 20 additions and 16 deletions

View file

@ -542,13 +542,13 @@ L8305: DATIME(&I,&K);
SAVWDS(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K); SAVWDS(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K);
SAVARR(ABB,LOCSIZ); SAVARR(ABB,LOCSIZ);
SAVARR(ATLOC,LOCSIZ); SAVARR(ATLOC,LOCSIZ);
SAVARR(DLOC,6); SAVARR(DLOC,NDWARVES);
SAVARR(DSEEN,6); SAVARR(DSEEN,NDWARVES);
SAVARR(FIXED,NOBJECTS); SAVARR(FIXED,NOBJECTS);
SAVARR(HINTED,HNTSIZ); SAVARR(HINTED,HNTSIZ);
SAVARR(HINTLC,HNTSIZ); SAVARR(HINTLC,HNTSIZ);
SAVARR(LINK,200); SAVARR(LINK,NOBJECTS*2);
SAVARR(ODLOC,6); SAVARR(ODLOC,NDWARVES);
SAVARR(PLACE,NOBJECTS); SAVARR(PLACE,NOBJECTS);
SAVARR(PROP,NOBJECTS); SAVARR(PROP,NOBJECTS);
SAVWRD(KK,K); SAVWRD(KK,K);

View file

@ -232,7 +232,7 @@ int throw(FILE *cmdin) {
return(attack(cmdin)); return(attack(cmdin));
L9172: SPK=48; L9172: SPK=48;
if(randrange(7) < DFLAG) goto L9175; if(randrange(NDWARVES+1) < DFLAG) goto L9175;
DSEEN[I]=false; DSEEN[I]=false;
DLOC[I]=0; DLOC[I]=0;
SPK=47; SPK=47;

View file

@ -2,6 +2,7 @@
#include <stdbool.h> #include <stdbool.h>
#define LINESIZE 100 #define LINESIZE 100
#define NDWARVES 6
typedef struct lcg_state typedef struct lcg_state
{ {

View file

@ -550,7 +550,7 @@ void write_files(FILE* c_file, FILE* header_file)
fprintf(header_file, "#define RTXSIZ 277\n"); fprintf(header_file, "#define RTXSIZ 277\n");
fprintf(header_file, "#define CLSMAX 12\n"); fprintf(header_file, "#define CLSMAX 12\n");
fprintf(header_file, "#define LOCSIZ 185\n"); fprintf(header_file, "#define LOCSIZ 185\n");
fprintf(header_file, "#define LINSIZ 12500\n"); fprintf(header_file, "#define LINSIZ %d\n", LINSIZ);
fprintf(header_file, "#define TRNSIZ 5\n"); fprintf(header_file, "#define TRNSIZ 5\n");
fprintf(header_file, "#define TABSIZ 330\n"); fprintf(header_file, "#define TABSIZ 330\n");
fprintf(header_file, "#define VRBSIZ 35\n"); fprintf(header_file, "#define VRBSIZ 35\n");

5
init.c
View file

@ -30,7 +30,10 @@
* 300 locations * 300 locations
* 100 objects */ * 100 objects */
/* Note: the object count limit has been abstracted as NOBJECTS */ /* Note:
* - the object count limit has been abstracted as NOBJECTS
* - the random message limit has been abstracted as RTXSIZE
*/
/* Description of the database format /* Description of the database format
* *

16
main.c
View file

@ -14,7 +14,7 @@
long ABB[186], ATLOC[186], BLKLIN = true, DFLAG, long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
DLOC[7], FIXED[NOBJECTS+1], HOLDNG, DLOC[7], FIXED[NOBJECTS+1], HOLDNG,
LINK[201], LNLENG, LNPOSN, LINK[NOBJECTS*2 + 1], LNLENG, LNPOSN,
PARMS[26], PLACE[NOBJECTS+1], PARMS[26], PLACE[NOBJECTS+1],
SETUP = 0; SETUP = 0;
char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129]; char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
@ -23,7 +23,7 @@ long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT, CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT,
COINS, CONDS, DALTLC, DETAIL, COINS, CONDS, DALTLC, DETAIL,
DKILL, DOOR, DPRSSN, DRAGON, DSEEN[7], DTOTAL, DWARF, EGGS, DKILL, DOOR, DPRSSN, DRAGON, DSEEN[NDWARVES+1], DTOTAL, DWARF, EGGS,
EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOBAR, FOOD, EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOBAR, FOOD,
GRATE, HINT, HINTED[21], HINTLC[21], GRATE, HINT, HINTED[21], HINTLC[21],
I, INVENT, IGO, IWEST, J, JADE, K, K2, KEYS, KK, I, INVENT, IGO, IWEST, J, JADE, K, K2, KEYS, KK,
@ -32,7 +32,7 @@ long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
MAGZIN, MAXDIE, MAXTRS, MAGZIN, MAXDIE, MAXTRS,
MESSAG, MIRROR, MXSCOR, MESSAG, MIRROR, MXSCOR,
NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ, NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ,
ODLOC[7], OGRE, OIL, OLDLC2, OLDLOC, OLDOBJ, OYSTER, ODLOC[NDWARVES+1], OGRE, OIL, OLDLC2, OLDLOC, OLDOBJ, OYSTER,
PANIC, PEARL, PILLOW, PLANT, PLANT2, PROP[NOBJECTS+1], PYRAM, PANIC, PEARL, PILLOW, PLANT, PLANT2, PROP[NOBJECTS+1], PYRAM,
RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAVED, SAY, RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAVED, SAY,
SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STICK, SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STICK,
@ -179,7 +179,7 @@ static bool do_command(FILE *cmdin) {
* (dwarves rooted in place) let him get out (and attacked). */ * (dwarves rooted in place) let him get out (and attacked). */
L71: if(NEWLOC == LOC || FORCED(LOC) || CNDBIT(LOC,3)) goto L74; L71: if(NEWLOC == LOC || FORCED(LOC) || CNDBIT(LOC,3)) goto L74;
/* 73 */ for (I=1; I<=5; I++) { /* 73 */ for (I=1; I<=NDWARVES-1; I++) {
if(ODLOC[I] != NEWLOC || !DSEEN[I]) goto L73; if(ODLOC[I] != NEWLOC || !DSEEN[I]) goto L73;
NEWLOC=LOC; NEWLOC=LOC;
RSPEAK(2); RSPEAK(2);
@ -210,10 +210,10 @@ L6000: if(DFLAG != 1) goto L6010;
if(!INDEEP(LOC) || (PCT(95) && (!CNDBIT(LOC,4) || PCT(85)))) goto L2000; if(!INDEEP(LOC) || (PCT(95) && (!CNDBIT(LOC,4) || PCT(85)))) goto L2000;
DFLAG=2; DFLAG=2;
for (I=1; I<=2; I++) { for (I=1; I<=2; I++) {
J=1+randrange(5); J=1+randrange(NDWARVES-1);
if(PCT(50))DLOC[J]=0; if(PCT(50))DLOC[J]=0;
} /* end loop */ } /* end loop */
for (I=1; I<=5; I++) { for (I=1; I<=NDWARVES-1; I++) {
if(DLOC[I] == LOC)DLOC[I]=DALTLC; if(DLOC[I] == LOC)DLOC[I]=DALTLC;
ODLOC[I]=DLOC[I]; ODLOC[I]=DLOC[I];
} /* end loop */ } /* end loop */
@ -229,7 +229,7 @@ L6000: if(DFLAG != 1) goto L6010;
L6010: DTOTAL=0; L6010: DTOTAL=0;
ATTACK=0; ATTACK=0;
STICK=0; STICK=0;
/* 6030 */ for (I=1; I<=6; I++) { /* 6030 */ for (I=1; I<=NDWARVES; I++) {
if(DLOC[I] == 0) goto L6030; if(DLOC[I] == 0) goto L6030;
/* Fill TK array with all the places this dwarf might go. */ /* Fill TK array with all the places this dwarf might go. */
J=1; J=1;
@ -827,7 +827,7 @@ L41000: if(TALLY == 1 && PROP[JADE] < 0) goto L40010;
L10000: PROP[GRATE]=0; L10000: PROP[GRATE]=0;
PROP[FISSUR]=0; PROP[FISSUR]=0;
for (I=1; I<=6; I++) { for (I=1; I<=NDWARVES; I++) {
DSEEN[I]=false; DSEEN[I]=false;
DLOC[I]=0; DLOC[I]=0;
} /* end loop */ } /* end loop */

2
misc.c
View file

@ -593,7 +593,7 @@ long AT, I;
AT=0; AT=0;
if(DFLAG < 2)return(AT); if(DFLAG < 2)return(AT);
AT= -1; AT= -1;
for (I=1; I<=5; I++) { for (I=1; I<=NDWARVES-1; I++) {
if(DLOC[I] == WHERE) goto L2; if(DLOC[I] == WHERE) goto L2;
if(DLOC[I] != 0)AT=0; if(DLOC[I] != 0)AT=0;
} /* end loop */ } /* end loop */