summaryrefslogtreecommitdiffstats
path: root/hack/hack.mkmaze.c
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>1997-10-19 16:56:41 +0000
committerchristos <christos@NetBSD.org>1997-10-19 16:56:41 +0000
commit84e7d0704483ce39bbdeacd5e676168db6fa664f (patch)
treef9ffeffa1a4342e749494bc3f5618552435839af /hack/hack.mkmaze.c
parentf73f1009084e75624e3bc00fef9cf4749de80dcc (diff)
downloadbsdgames-darwin-84e7d0704483ce39bbdeacd5e676168db6fa664f.tar.gz
bsdgames-darwin-84e7d0704483ce39bbdeacd5e676168db6fa664f.tar.zst
bsdgames-darwin-84e7d0704483ce39bbdeacd5e676168db6fa664f.zip
WARNsify...
Diffstat (limited to 'hack/hack.mkmaze.c')
-rw-r--r--hack/hack.mkmaze.c177
1 files changed, 98 insertions, 79 deletions
diff --git a/hack/hack.mkmaze.c b/hack/hack.mkmaze.c
index f69fe864..bb894202 100644
--- a/hack/hack.mkmaze.c
+++ b/hack/hack.mkmaze.c
@@ -1,62 +1,65 @@
+/* $NetBSD: hack.mkmaze.c,v 1.4 1997/10/19 16:58:27 christos Exp $ */
+
/*
* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985.
*/
+#include <sys/cdefs.h>
#ifndef lint
-static char rcsid[] = "$NetBSD: hack.mkmaze.c,v 1.3 1995/03/23 08:30:46 cgd Exp $";
-#endif /* not lint */
+__RCSID("$NetBSD: hack.mkmaze.c,v 1.4 1997/10/19 16:58:27 christos Exp $");
+#endif /* not lint */
#include "hack.h"
+#include "extern.h"
#include "def.mkroom.h" /* not really used */
-extern struct monst *makemon();
-extern struct permonst pm_wizard;
-extern struct obj *mkobj_at();
-extern coord mazexy();
struct permonst hell_hound =
- { "hell hound", 'd', 12, 14, 2, 3, 6, 0 };
+{"hell hound", 'd', 12, 14, 2, 3, 6, 0};
+void
makemaz()
{
- int x,y;
- register zx,zy;
- coord mm;
- boolean al = (dlevel >= 30 && !flags.made_amulet);
+ int x, y;
+ int zx, zy;
+ coord mm;
+ boolean al = (dlevel >= 30 && !flags.made_amulet);
- for(x = 2; x < COLNO-1; x++)
- for(y = 2; y < ROWNO-1; y++)
- levl[x][y].typ = (x%2 && y%2) ? 0 : HWALL;
- if(al) {
- register struct monst *mtmp;
+ for (x = 2; x < COLNO - 1; x++)
+ for (y = 2; y < ROWNO - 1; y++)
+ levl[x][y].typ = (x % 2 && y % 2) ? 0 : HWALL;
+ if (al) {
+ struct monst *mtmp;
- zx = 2*(COLNO/4) - 1;
- zy = 2*(ROWNO/4) - 1;
- for(x = zx-2; x < zx+4; x++) for(y = zy-2; y <= zy+2; y++) {
- levl[x][y].typ =
- (y == zy-2 || y == zy+2 || x == zx-2 || x == zx+3) ? POOL :
- (y == zy-1 || y == zy+1 || x == zx-1 || x == zx+2) ? HWALL:
- ROOM;
- }
- (void) mkobj_at(AMULET_SYM, zx, zy);
- flags.made_amulet = 1;
- walkfrom(zx+4, zy);
- if(mtmp = makemon(&hell_hound, zx, zy))
- mtmp->msleep = 1;
- if(mtmp = makemon(PM_WIZARD, zx+1, zy)) {
- mtmp->msleep = 1;
- flags.no_of_wizards = 1;
- }
+ zx = 2 * (COLNO / 4) - 1;
+ zy = 2 * (ROWNO / 4) - 1;
+ for (x = zx - 2; x < zx + 4; x++)
+ for (y = zy - 2; y <= zy + 2; y++) {
+ levl[x][y].typ =
+ (y == zy - 2 || y == zy + 2 || x == zx - 2 || x == zx + 3) ? POOL :
+ (y == zy - 1 || y == zy + 1 || x == zx - 1 || x == zx + 2) ? HWALL :
+ ROOM;
+ }
+ (void) mkobj_at(AMULET_SYM, zx, zy);
+ flags.made_amulet = 1;
+ walkfrom(zx + 4, zy);
+ if ((mtmp = makemon(&hell_hound, zx, zy)) != NULL)
+ mtmp->msleep = 1;
+ if ((mtmp = makemon(PM_WIZARD, zx + 1, zy)) != NULL) {
+ mtmp->msleep = 1;
+ flags.no_of_wizards = 1;
+ }
} else {
- mm = mazexy();
- zx = mm.x;
- zy = mm.y;
- walkfrom(zx,zy);
- (void) mksobj_at(WAN_WISHING, zx, zy);
- (void) mkobj_at(ROCK_SYM, zx, zy); /* put a rock on top of it */
+ mm = mazexy();
+ zx = mm.x;
+ zy = mm.y;
+ walkfrom(zx, zy);
+ (void) mksobj_at(WAN_WISHING, zx, zy);
+ (void) mkobj_at(ROCK_SYM, zx, zy); /* put a rock on top of
+ * it */
}
- for(x = 2; x < COLNO-1; x++)
- for(y = 2; y < ROWNO-1; y++) {
- switch(levl[x][y].typ) {
+ for (x = 2; x < COLNO - 1; x++)
+ for (y = 2; y < ROWNO - 1; y++) {
+ switch (levl[x][y].typ) {
case HWALL:
levl[x][y].scrsym = '-';
break;
@@ -65,77 +68,93 @@ makemaz()
break;
}
}
- for(x = rn1(8,11); x; x--) {
+ for (x = rn1(8, 11); x; x--) {
mm = mazexy();
(void) mkobj_at(rn2(2) ? GEM_SYM : 0, mm.x, mm.y);
}
- for(x = rn1(10,2); x; x--) {
+ for (x = rn1(10, 2); x; x--) {
mm = mazexy();
(void) mkobj_at(ROCK_SYM, mm.x, mm.y);
}
mm = mazexy();
(void) makemon(PM_MINOTAUR, mm.x, mm.y);
- for(x = rn1(5,7); x; x--) {
+ for (x = rn1(5, 7); x; x--) {
mm = mazexy();
(void) makemon((struct permonst *) 0, mm.x, mm.y);
}
- for(x = rn1(6,7); x; x--) {
+ for (x = rn1(6, 7); x; x--) {
mm = mazexy();
- mkgold(0L,mm.x,mm.y);
+ mkgold(0L, mm.x, mm.y);
}
- for(x = rn1(6,7); x; x--)
- mktrap(0,1,(struct mkroom *) 0);
+ for (x = rn1(6, 7); x; x--)
+ mktrap(0, 1, (struct mkroom *) 0);
mm = mazexy();
levl[(xupstair = mm.x)][(yupstair = mm.y)].scrsym = '<';
levl[xupstair][yupstair].typ = STAIRS;
xdnstair = ydnstair = 0;
}
-walkfrom(x,y) int x,y; {
-register int q,a,dir;
-int dirs[4];
+void
+walkfrom(x, y)
+ int x, y;
+{
+ int q, a, dir;
+ int dirs[4];
levl[x][y].typ = ROOM;
- while(1) {
+ while (1) {
q = 0;
- for(a = 0; a < 4; a++)
- if(okay(x,y,a)) dirs[q++]= a;
- if(!q) return;
+ for (a = 0; a < 4; a++)
+ if (okay(x, y, a))
+ dirs[q++] = a;
+ if (!q)
+ return;
dir = dirs[rn2(q)];
- move(&x,&y,dir);
+ move(&x, &y, dir);
levl[x][y].typ = ROOM;
- move(&x,&y,dir);
- walkfrom(x,y);
+ move(&x, &y, dir);
+ walkfrom(x, y);
}
}
-move(x,y,dir)
-register int *x, *y;
-register int dir;
+void
+move(x, y, dir)
+ int *x, *y;
+ int dir;
{
- switch(dir){
- case 0: --(*y); break;
- case 1: (*x)++; break;
- case 2: (*y)++; break;
- case 3: --(*x); break;
+ switch (dir) {
+ case 0:
+ --(*y);
+ break;
+ case 1:
+ (*x)++;
+ break;
+ case 2:
+ (*y)++;
+ break;
+ case 3:
+ --(*x);
+ break;
}
}
-okay(x,y,dir)
-int x,y;
-register int dir;
+int
+okay(x, y, dir)
+ int x, y;
+ int dir;
{
- move(&x,&y,dir);
- move(&x,&y,dir);
- if(x<3 || y<3 || x>COLNO-3 || y>ROWNO-3 || levl[x][y].typ != 0)
- return(0);
+ move(&x, &y, dir);
+ move(&x, &y, dir);
+ if (x < 3 || y < 3 || x > COLNO - 3 || y > ROWNO - 3 || levl[x][y].typ != 0)
+ return (0);
else
- return(1);
+ return (1);
}
coord
-mazexy(){
- coord mm;
- mm.x = 3 + 2*rn2(COLNO/2 - 2);
- mm.y = 3 + 2*rn2(ROWNO/2 - 2);
+mazexy()
+{
+ coord mm;
+ mm.x = 3 + 2 * rn2(COLNO / 2 - 2);
+ mm.y = 3 + 2 * rn2(ROWNO / 2 - 2);
return mm;
}