Magic-number elimination.
authorEric S. Raymond <esr@thyrsus.com>
Tue, 6 Jun 2017 15:12:00 +0000 (11:12 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Tue, 6 Jun 2017 15:12:00 +0000 (11:12 -0400)
actions1.c
actions2.c
advent.h
compile.c
init.c
main.c
misc.c

index a1a7cd22060b3765052032ea4901c72d940ad557..8a7ccadf0350ef24403c1c6f50a43dec5de02b0a 100644 (file)
@@ -542,13 +542,13 @@ L8305:    DATIME(&I,&K);
        SAVWDS(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K);
        SAVARR(ABB,LOCSIZ);
        SAVARR(ATLOC,LOCSIZ);
        SAVWDS(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K);
        SAVARR(ABB,LOCSIZ);
        SAVARR(ATLOC,LOCSIZ);
-       SAVARR(DLOC,6);
-       SAVARR(DSEEN,6);
+       SAVARR(DLOC,NDWARVES);
+       SAVARR(DSEEN,NDWARVES);
        SAVARR(FIXED,NOBJECTS);
        SAVARR(HINTED,HNTSIZ);
        SAVARR(HINTLC,HNTSIZ);
        SAVARR(FIXED,NOBJECTS);
        SAVARR(HINTED,HNTSIZ);
        SAVARR(HINTLC,HNTSIZ);
-       SAVARR(LINK,200);
-       SAVARR(ODLOC,6);
+       SAVARR(LINK,NOBJECTS*2);
+       SAVARR(ODLOC,NDWARVES);
        SAVARR(PLACE,NOBJECTS);
        SAVARR(PROP,NOBJECTS);
        SAVWRD(KK,K);
        SAVARR(PLACE,NOBJECTS);
        SAVARR(PROP,NOBJECTS);
        SAVWRD(KK,K);
index a169c481960affea6b660277414d151473f71ebb..295f1880a1fd07dbb59213ad85170649a0b05bb9 100644 (file)
@@ -232,7 +232,7 @@ int throw(FILE *cmdin) {
        return(attack(cmdin));
 
 L9172: SPK=48;
        return(attack(cmdin));
 
 L9172: SPK=48;
-       if(randrange(7) < DFLAG) goto L9175;
+       if(randrange(NDWARVES+1) < DFLAG) goto L9175;
        DSEEN[I]=false;
        DLOC[I]=0;
        SPK=47;
        DSEEN[I]=false;
        DLOC[I]=0;
        SPK=47;
index 443ab0a0b60e0f91331266c073614bd08a39ba6b..396454e97f0e7c2ba8f1b2f9ef3c2923129ba085 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -2,6 +2,7 @@
 #include <stdbool.h>
 
 #define LINESIZE       100
 #include <stdbool.h>
 
 #define LINESIZE       100
+#define NDWARVES       6
 
 typedef struct lcg_state
 {
 
 typedef struct lcg_state
 {
index 9ffaf4c44924bba71e0bfe475dc8311e1524ca6d..c501e5b787f2a381735509439d655306705d0f7d 100644 (file)
--- a/compile.c
+++ b/compile.c
@@ -550,7 +550,7 @@ void write_files(FILE* c_file, FILE* header_file)
   fprintf(header_file, "#define RTXSIZ 277\n");
   fprintf(header_file, "#define CLSMAX 12\n");
   fprintf(header_file, "#define LOCSIZ 185\n");
   fprintf(header_file, "#define RTXSIZ 277\n");
   fprintf(header_file, "#define CLSMAX 12\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 TABSIZ 330\n");
   fprintf(header_file, "#define VRBSIZ 35\n");
   fprintf(header_file, "#define TRNSIZ 5\n");
   fprintf(header_file, "#define TABSIZ 330\n");
   fprintf(header_file, "#define VRBSIZ 35\n");
diff --git a/init.c b/init.c
index aedbeec244aaebb7662a5cc0ede2423498a1a30d..53552f70226e58509fd844bab70dd7b242559037 100644 (file)
--- a/init.c
+++ b/init.c
  *     300 locations
  *     100 objects */
 
  *     300 locations
  *     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
  *
diff --git a/main.c b/main.c
index 120642b247670447f99534fa89c8076688711b45..640a6fb3a9ff2b67c75cc16d6265bfb8539d4853 100644 (file)
--- a/main.c
+++ b/main.c
@@ -14,7 +14,7 @@
 
 long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
                DLOC[7], FIXED[NOBJECTS+1], HOLDNG,
 
 long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
                DLOC[7], FIXED[NOBJECTS+1], HOLDNG,
-               LINK[201], LNLENG, LNPOSN,
+               LINK[NOBJECTS*2 + 1], LNLENG, LNPOSN,
                PARMS[26], PLACE[NOBJECTS+1],
                SETUP = 0;
 char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
                PARMS[26], PLACE[NOBJECTS+1],
                SETUP = 0;
 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,
                CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT,
                COINS, CONDS, DALTLC, DETAIL,
                 BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
                CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT,
                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,
                GRATE, HINT, HINTED[21], HINTLC[21],
                I, INVENT, IGO, IWEST, J, JADE, K, K2, KEYS, KK,
                EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOBAR, FOOD,
                GRATE, HINT, HINTED[21], HINTLC[21],
                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,
                MESSAG, MIRROR, MXSCOR,
                NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ,
                MAGZIN, MAXDIE, MAXTRS,
                MESSAG, MIRROR, MXSCOR,
                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,
                RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAVED, SAY,
                SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STICK,
                PANIC, PEARL, PILLOW, PLANT, PLANT2, PROP[NOBJECTS+1], PYRAM,
                RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAVED, SAY,
                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). */
 
 L71:   if(NEWLOC == LOC || FORCED(LOC) || CNDBIT(LOC,3)) goto L74;
  *  (dwarves rooted in place) let him get out (and attacked). */
 
 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;
        NEWLOC=LOC;
        RSPEAK(2);
        if(ODLOC[I] != NEWLOC || !DSEEN[I]) goto L73;
        NEWLOC=LOC;
        RSPEAK(2);
@@ -210,10 +210,10 @@ L6000:    if(DFLAG != 1) goto L6010;
        if(!INDEEP(LOC) || (PCT(95) && (!CNDBIT(LOC,4) || PCT(85)))) goto L2000;
        DFLAG=2;
        for (I=1; I<=2; I++) {
        if(!INDEEP(LOC) || (PCT(95) && (!CNDBIT(LOC,4) || PCT(85)))) goto L2000;
        DFLAG=2;
        for (I=1; I<=2; I++) {
-       J=1+randrange(5);
+       J=1+randrange(NDWARVES-1);
        if(PCT(50))DLOC[J]=0;
        } /* end loop */
        if(PCT(50))DLOC[J]=0;
        } /* end loop */
-       for (I=1; I<=5; I++) {
+       for (I=1; I<=NDWARVES-1; I++) {
        if(DLOC[I] == LOC)DLOC[I]=DALTLC;
        ODLOC[I]=DLOC[I];
        } /* end loop */
        if(DLOC[I] == LOC)DLOC[I]=DALTLC;
        ODLOC[I]=DLOC[I];
        } /* end loop */
@@ -229,7 +229,7 @@ L6000:      if(DFLAG != 1) goto L6010;
 L6010: DTOTAL=0;
        ATTACK=0;
        STICK=0;
 L6010: DTOTAL=0;
        ATTACK=0;
        STICK=0;
-       /* 6030 */ for (I=1; I<=6; I++) {
+       /* 6030 */ for (I=1; I<=NDWARVES; I++) {
        if(DLOC[I] == 0) goto L6030;
 /*  Fill TK array with all the places this dwarf might go. */
        J=1;
        if(DLOC[I] == 0) goto L6030;
 /*  Fill TK array with all the places this dwarf might go. */
        J=1;
@@ -827,7 +827,7 @@ L41000: if(TALLY == 1 && PROP[JADE] < 0) goto L40010;
 
 L10000: PROP[GRATE]=0;
        PROP[FISSUR]=0;
 
 L10000: PROP[GRATE]=0;
        PROP[FISSUR]=0;
-       for (I=1; I<=6; I++) {
+       for (I=1; I<=NDWARVES; I++) {
        DSEEN[I]=false;
        DLOC[I]=0;
        } /* end loop */
        DSEEN[I]=false;
        DLOC[I]=0;
        } /* end loop */
diff --git a/misc.c b/misc.c
index 0126d692d2a02f9c80691356a30075c6e96d7cf4..46772d53498936d296cdfc9333a5d450c2826901 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -593,7 +593,7 @@ long AT, I;
        AT=0;
        if(DFLAG < 2)return(AT);
        AT= -1;
        AT=0;
        if(DFLAG < 2)return(AT);
        AT= -1;
-       for (I=1; I<=5; I++) {
+       for (I=1; I<=NDWARVES-1; I++) {
        if(DLOC[I] == WHERE) goto L2;
        if(DLOC[I] != 0)AT=0;
        } /* end loop */
        if(DLOC[I] == WHERE) goto L2;
        if(DLOC[I] != 0)AT=0;
        } /* end loop */