summaryrefslogtreecommitdiffstats
path: root/adventure/vocab.c
diff options
context:
space:
mode:
authorlukem <lukem@NetBSD.org>1997-10-11 01:53:21 +0000
committerlukem <lukem@NetBSD.org>1997-10-11 01:53:21 +0000
commit7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba (patch)
treed315e6e1cff5b3f0deb38704e741f5f580ea319d /adventure/vocab.c
parenta020fc98d8da9cac6990006871414e8654ac5c1d (diff)
downloadbsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.tar.gz
bsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.tar.zst
bsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.zip
KNFify
Diffstat (limited to 'adventure/vocab.c')
-rw-r--r--adventure/vocab.c259
1 files changed, 143 insertions, 116 deletions
diff --git a/adventure/vocab.c b/adventure/vocab.c
index 25487241..2090b470 100644
--- a/adventure/vocab.c
+++ b/adventure/vocab.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vocab.c,v 1.4 1997/10/10 11:59:56 lukem Exp $ */
+/* $NetBSD: vocab.c,v 1.5 1997/10/11 01:53:38 lukem Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -43,9 +43,9 @@
#if 0
static char sccsid[] = "@(#)vocab.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: vocab.c,v 1.4 1997/10/10 11:59:56 lukem Exp $");
+__RCSID("$NetBSD: vocab.c,v 1.5 1997/10/11 01:53:38 lukem Exp $");
#endif
-#endif /* not lint */
+#endif /* not lint */
/* Re-coding of advent in C: data structure routines */
@@ -56,184 +56,211 @@ __RCSID("$NetBSD: vocab.c,v 1.4 1997/10/10 11:59:56 lukem Exp $");
void
dstroy(object)
-int object;
-{ move(object,0);
+ int object;
+{
+ move(object, 0);
}
void
juggle(object)
-int object;
-{ int i,j;
+ int object;
+{
+ int i, j;
- i=place[object];
- j=fixed[object];
- move(object,i);
- move(object+100,j);
+ i = place[object];
+ j = fixed[object];
+ move(object, i);
+ move(object + 100, j);
}
void
-move(object,where)
-int object,where;
-{ int from;
+move(object, where)
+ int object, where;
+{
+ int from;
- if (object<=100)
- from=place[object];
+ if (object <= 100)
+ from = place[object];
else
- from=fixed[object-100];
- if (from>0 && from<=300) carry(object,from);
- drop(object,where);
+ from = fixed[object - 100];
+ if (from > 0 && from <= 300)
+ carry(object, from);
+ drop(object, where);
}
int
-put(object,where,pval)
-int object,where,pval;
-{ move(object,where);
- return(-1-pval);
+put(object, where, pval)
+ int object, where, pval;
+{
+ move(object, where);
+ return (-1 - pval);
}
void
-carry(object,where)
-int object,where;
-{ int temp;
+carry(object, where)
+ int object, where;
+{
+ int temp;
- if (object<=100)
- { if (place[object]== -1) return;
+ if (object <= 100) {
+ if (place[object] == -1)
+ return;
place[object] = -1;
holdng++;
}
- if (atloc[where]==object)
- { atloc[where]=links[object];
+ if (atloc[where] == object) {
+ atloc[where] = links[object];
return;
}
- for (temp=atloc[where]; links[temp]!=object; temp=links[temp]);
- links[temp]=links[object];
+ for (temp = atloc[where]; links[temp] != object; temp = links[temp]);
+ links[temp] = links[object];
}
void
-drop(object,where)
-int object,where;
-{ if (object>100) fixed[object-100]=where;
- else
- { if (place[object]== -1) holdng--;
- place[object]=where;
+drop(object, where)
+ int object, where;
+{
+ if (object > 100)
+ fixed[object - 100] = where;
+ else {
+ if (place[object] == -1)
+ holdng--;
+ place[object] = where;
}
- if (where<=0) return;
- links[object]=atloc[where];
- atloc[where]=object;
+ if (where <= 0)
+ return;
+ links[object] = atloc[where];
+ atloc[where] = object;
}
int
-vocab(word,type,value) /* look up or store a word */
-char *word;
-int type; /* -2 for store, -1 for user word, >=0 for canned lookup*/
-int value; /* used for storing only */
-{ int adr;
- char *s,*t;
- int hash, i;
+vocab(word, type, value) /* look up or store a word */
+ char *word;
+ int type; /* -2 for store, -1 for user word, >=0 for
+ * canned lookup */
+ int value; /* used for storing only */
+{
+ int adr;
+ char *s, *t;
+ int hash, i;
struct hashtab *h;
- for (hash=0,s=word,i=0; i<5 &&*s; i++) /* some kind of hash */
- hash += *s++; /* add all chars in the word */
- hash = (hash*3719)&077777; /* pulled that one out of a hat */
- hash %= HTSIZE; /* put it into range of table */
-
- for(adr=hash;; adr++) /* look for entry in table */
- { if (adr==HTSIZE) adr=0; /* wrap around */
- h = &voc[adr]; /* point at the entry */
- switch(type)
- { case -2: /* fill in entry */
- if (h->val) /* already got an entry? */
+ for (hash = 0, s = word, i = 0; i < 5 && *s; i++) /* some kind of hash */
+ hash += *s++; /* add all chars in the word */
+ hash = (hash * 3719) & 077777; /* pulled that one out of a hat */
+ hash %= HTSIZE; /* put it into range of table */
+
+ for (adr = hash;; adr++) { /* look for entry in table */
+ if (adr == HTSIZE)
+ adr = 0;/* wrap around */
+ h = &voc[adr]; /* point at the entry */
+ switch (type) {
+ case -2: /* fill in entry */
+ if (h->val) /* already got an entry? */
goto exitloop2;
- h->val=value;
- h->atab=malloc(length(word));
- for (s=word,t=h->atab; *s;)
+ h->val = value;
+ h->atab = malloc(length(word));
+ for (s = word, t = h->atab; *s;)
*t++ = *s++ ^ '=';
- *t=0^'=';
+ *t = 0 ^ '=';
/* encrypt slightly to thwart core reader */
- /* printf("Stored \"%s\" (%d ch) as entry %d\n", */
- /* word, length(word), adr); */
- return(0); /* entry unused */
- case -1: /* looking up user word */
- if (h->val==0) return(-1); /* not found */
- for (s=word, t=h->atab;*t ^ '=';)
+ /* printf("Stored \"%s\" (%d ch) as entry %d\n", */
+ /* word, length(word), adr); */
+ return (0); /* entry unused */
+ case -1: /* looking up user word */
+ if (h->val == 0)
+ return (-1); /* not found */
+ for (s = word, t = h->atab; *t ^ '=';)
if ((*s++ ^ '=') != *t++)
goto exitloop2;
- if ((*s ^ '=') != *t && s-word<5) goto exitloop2;
+ if ((*s ^ '=') != *t && s - word < 5)
+ goto exitloop2;
/* the word matched o.k. */
- return(h->val);
- default: /* looking up known word */
- if (h->val==0)
- { printf("Unable to find %s in vocab\n",word);
+ return (h->val);
+ default: /* looking up known word */
+ if (h->val == 0) {
+ printf("Unable to find %s in vocab\n", word);
exit(0);
}
- for (s=word, t=h->atab;*t ^ '=';)
- if ((*s++ ^ '=') != *t++) goto exitloop2;
+ for (s = word, t = h->atab; *t ^ '=';)
+ if ((*s++ ^ '=') != *t++)
+ goto exitloop2;
/* the word matched o.k. */
- if (h->val/1000 != type) continue;
- return(h->val%1000);
+ if (h->val / 1000 != type)
+ continue;
+ return (h->val % 1000);
}
- exitloop2: /* hashed entry does not match */
- if (adr+1==hash || (adr==HTSIZE && hash==0))
- { printf("Hash table overflow\n");
+exitloop2: /* hashed entry does not match */
+ if (adr + 1 == hash || (adr == HTSIZE && hash == 0)) {
+ printf("Hash table overflow\n");
exit(0);
}
}
}
void
-copystr(w1,w2) /* copy one string to another */
-char *w1,*w2;
-{ char *s,*t;
- for (s=w1,t=w2; *s;)
+copystr(w1, w2) /* copy one string to another */
+ char *w1, *w2;
+{
+ char *s, *t;
+ for (s = w1, t = w2; *s;)
*t++ = *s++;
- *t=0;
+ *t = 0;
}
int
-weq(w1,w2) /* compare words */
-char *w1,*w2; /* w1 is user, w2 is system */
-{ char *s,*t;
- int i;
- s=w1;
- t=w2;
- for (i=0; i<5; i++) /* compare at most 5 chars */
- { if (*t==0 && *s==0)
- return(TRUE);
- if (*s++ != *t++) return(FALSE);
+weq(w1, w2) /* compare words */
+ char *w1, *w2; /* w1 is user, w2 is system */
+{
+ char *s, *t;
+ int i;
+ s = w1;
+ t = w2;
+ for (i = 0; i < 5; i++) { /* compare at most 5 chars */
+ if (*t == 0 && *s == 0)
+ return (TRUE);
+ if (*s++ != *t++)
+ return (FALSE);
}
- return(TRUE);
+ return (TRUE);
}
int
-length(str) /* includes 0 at end */
-char *str;
-{ char *s;
- int n;
- for (n=0,s=str; *s++;) n++;
- return(n+1);
+length(str) /* includes 0 at end */
+ char *str;
+{
+ char *s;
+ int n;
+ for (n = 0, s = str; *s++;)
+ n++;
+ return (n + 1);
}
void
-prht() /* print hash table */
-{ int i,j,l;
- char *c;
+prht()
+{ /* print hash table */
+ int i, j, l;
+ char *c;
struct hashtab *h;
- for (i=0; i<HTSIZE/10+1; i++)
- { printf("%4d",i*10);
- for (j=0; j<10; j++)
- { if (i*10+j>=HTSIZE) break;
- h= &voc[i*10+j];
+ for (i = 0; i < HTSIZE / 10 + 1; i++) {
+ printf("%4d", i * 10);
+ for (j = 0; j < 10; j++) {
+ if (i * 10 + j >= HTSIZE)
+ break;
+ h = &voc[i * 10 + j];
putchar(' ');
- if (h->val==0)
- { printf("-----");
+ if (h->val == 0) {
+ printf("-----");
continue;
}
- for (l=0, c=h->atab; l<5; l++)
- if ((*c ^ '=')) putchar(*c++ ^ '=');
- else putchar(' ');
+ for (l = 0, c = h->atab; l < 5; l++)
+ if ((*c ^ '='))
+ putchar(*c++ ^ '=');
+ else
+ putchar(' ');
}
putchar('\n');
}