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);
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(LINK,200);
SAVARR(ODLOC,6);
SAVARR(LINK,NOBJECTS*2);
SAVARR(ODLOC,NDWARVES);
SAVARR(PLACE,NOBJECTS);
SAVARR(PROP,NOBJECTS);
SAVWRD(KK,K);

View file

@ -232,7 +232,7 @@ int throw(FILE *cmdin) {
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;

View file

@ -2,6 +2,7 @@
#include <stdbool.h>
#define LINESIZE 100
#define NDWARVES 6
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 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");

5
init.c
View file

@ -30,7 +30,10 @@
* 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
*

16
main.c
View file

@ -14,7 +14,7 @@
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];
@ -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,
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,
@ -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,
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,
@ -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;
/* 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);
@ -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++) {
J=1+randrange(5);
J=1+randrange(NDWARVES-1);
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 */
@ -229,7 +229,7 @@ L6000: if(DFLAG != 1) goto L6010;
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;
@ -827,7 +827,7 @@ L41000: if(TALLY == 1 && PROP[JADE] < 0) goto L40010;
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 */

2
misc.c
View file

@ -593,7 +593,7 @@ long AT, I;
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 */