]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hunt/huntd/makemaze.c
Fix sendmail section (8 -> 1) in xrefs.
[bsdgames-darwin.git] / hunt / huntd / makemaze.c
index bcc21c61b2732e5ff63609a2b4490d3860c34cb7..eca437e4c43e1162ba97db2a8f416da7a87c5945 100644 (file)
@@ -1,30 +1,57 @@
-/*     $NetBSD: makemaze.c,v 1.2 1997/10/10 16:33:43 lukem Exp $       */
+/*     $NetBSD: makemaze.c,v 1.8 2011/05/23 22:58:44 joerg Exp $       */
 /*
- *  Hunt
- *  Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
- *  San Francisco, California
+ * Copyright (c) 1983-2003, Regents of the University of California.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are 
+ * met:
+ * 
+ * + Redistributions of source code must retain the above copyright 
+ *   notice, this list of conditions and the following disclaimer.
+ * + Redistributions in binary form must reproduce the above copyright 
+ *   notice, this list of conditions and the following disclaimer in the 
+ *   documentation and/or other materials provided with the distribution.
+ * + Neither the name of the University of California, San Francisco nor 
+ *   the names of its contributors may be used to endorse or promote 
+ *   products derived from this software without specific prior written 
+ *   permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: makemaze.c,v 1.2 1997/10/10 16:33:43 lukem Exp $");
+__RCSID("$NetBSD: makemaze.c,v 1.8 2011/05/23 22:58:44 joerg Exp $");
 #endif /* not lint */
 
-# include      "hunt.h"
+#include "hunt.h"
 
-# define       ISCLEAR(y,x)    (Maze[y][x] == SPACE)
-# define       ODD(n)          ((n) & 01)
+#define ISCLEAR(y,x)   (Maze[y][x] == SPACE)
+#define ODD(n)         ((n) & 01)
 
-static int     candig __P((int, int));
-static void    dig __P((int, int));
-static void    dig_maze __P((int, int));
-static void    remap __P((void));
+#if 0
+static int candig(int, int);
+static void dig(int, int);
+#endif
+static void dig_maze(int, int);
+static void remap(void);
 
 void
-makemaze()
+makemaze(void)
 {
-       char    *sp;
-       int     y, x;
+       char *sp;
+       int y, x;
 
        /*
         * fill maze with walls
@@ -39,30 +66,31 @@ makemaze()
        remap();
 }
 
-# define       NPERM   24
-# define       NDIR    4
+#define NPERM  24
+#define NDIR   4
 
-int    dirs[NPERM][NDIR] = {
-               {0,1,2,3},      {3,0,1,2},      {0,2,3,1},      {0,3,2,1},
-               {1,0,2,3},      {2,3,0,1},      {0,2,1,3},      {2,3,1,0},
-               {1,0,3,2},      {1,2,0,3},      {3,1,2,0},      {2,0,3,1},
-               {1,3,0,2},      {0,3,1,2},      {1,3,2,0},      {2,0,1,3},
-               {0,1,3,2},      {3,1,0,2},      {2,1,0,3},      {1,2,3,0},
-               {2,1,3,0},      {3,0,2,1},      {3,2,0,1},      {3,2,1,0}
-       };
+#if 0
+static int dirs[NPERM][NDIR] = {
+       {0,1,2,3},      {3,0,1,2},      {0,2,3,1},      {0,3,2,1},
+       {1,0,2,3},      {2,3,0,1},      {0,2,1,3},      {2,3,1,0},
+       {1,0,3,2},      {1,2,0,3},      {3,1,2,0},      {2,0,3,1},
+       {1,3,0,2},      {0,3,1,2},      {1,3,2,0},      {2,0,1,3},
+       {0,1,3,2},      {3,1,0,2},      {2,1,0,3},      {1,2,3,0},
+       {2,1,3,0},      {3,0,2,1},      {3,2,0,1},      {3,2,1,0}
+};
+
+static int incr[NDIR][2] = {
+       {0, 1}, {1, 0}, {0, -1}, {-1, 0}
+};
 
-int    incr[NDIR][2] = {
-               {0, 1}, {1, 0}, {0, -1}, {-1, 0}
-       };
 
 static void
-dig(y, x)
-       int     y, x;
+dig(int y, int x)
 {
-       int     *dp;
-       int     *ip;
-       int     ny, nx;
-       int     *endp;
+       int *dp;
+       int *ip;
+       int ny, nx;
+       int *endp;
 
        Maze[y][x] = SPACE;                     /* Clear this spot */
        dp = dirs[rand_num(NPERM)];
@@ -81,10 +109,9 @@ dig(y, x)
  *     Is it legal to clear this spot?
  */
 static int
-candig(y, x)
-       int     y, x;
+candig(int y, int x)
 {
-       int     i;
+       int i;
 
        if (ODD(x) && ODD(y))
                return FALSE;           /* can't touch ODD spots */
@@ -110,18 +137,18 @@ candig(y, x)
 
        return TRUE;                    /* OK */
 }
+#endif
 
 void
-dig_maze(x, y)
-       int     x, y;
+dig_maze(int x, int y)
 {
-       int     tx, ty;
-       int     i, j;
-       int     order[4];
-#define        MNORTH  0x1
-#define        MSOUTH  0x2
-#define        MEAST   0x4
-#define        MWEST   0x8
+       int tx, ty;
+       int i, j;
+       int order[4];
+#define MNORTH 0x1
+#define MSOUTH 0x2
+#define MEAST  0x4
+#define MWEST  0x8
 
        tx = ty = 0;
        Maze[y][x] = SPACE;
@@ -160,11 +187,11 @@ dig_maze(x, y)
 }
 
 void
-remap()
+remap(void)
 {
-       int     y, x;
-       char    *sp;
-       int     stat;
+       int y, x;
+       char *sp;
+       int stat;
 
        for (y = 0; y < HEIGHT; y++)
                for (x = 0; x < WIDTH; x++) {
@@ -192,12 +219,12 @@ remap()
                                *sp = WALL2;
                                break;
                          case 0:
-# ifdef RANDOM
+#ifdef RANDOM
                                *sp = DOOR;
-# endif
-# ifdef REFLECT
+#endif
+#ifdef REFLECT
                                *sp = rand_num(2) ? WALL4 : WALL5;
-# endif
+#endif
                                break;
                          default:
                                *sp = WALL3;