]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - battlestar/room.c
Include <sys/endian.h>.
[bsdgames-darwin.git] / battlestar / room.c
index 30fb4079148b3b8e3db4b154f83b160be2e66c29..5cbaf85060dd2e8c70bb8723a538859aa1a786d2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: room.c,v 1.5 1997/10/10 11:40:16 lukem Exp $   */
+/*     $NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $    */
 
 /*
  * Copyright (c) 1983, 1993
  * 2. 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.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
 #if 0
 static char sccsid[] = "@(#)room.c     8.2 (Berkeley) 4/28/95";
 #else
-__RCSID("$NetBSD: room.c,v 1.5 1997/10/10 11:40:16 lukem Exp $");
+__RCSID("$NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $");
 #endif
-#endif /* not lint */
+#endif                         /* not lint */
 
 #include "extern.h"
 
 void
 writedes()
 {
-       int compass;
-       char *p;
-       int c;
+       int     compass;
+       const char   *p;
+       int     c;
 
        printf("\n\t%s\n", location[position].name);
-       if (beenthere[position] < 3) {
+       if (beenthere[position] < ROOMDESC || verbose) {
                compass = NORTH;
                for (p = location[position].desc; (c = *p++) != 0;)
-                       if (c != '-' && c != '*' && c != '+')
-                               putchar(c);
-                       else {
+                       if (c != '-' && c != '*' && c != '+') {
+                               if (c == '=')
+                                       putchar('-');
+                               else
+                                       putchar(c);
+                       } else {
                                if (c != '*')
                                        printf(truedirec(compass, c));
                                compass++;
@@ -69,7 +68,7 @@ void
 printobjs()
 {
        unsigned int *p = location[position].objects;
-       int n;
+       int     n;
 
        printf("\n");
        for (n = 0; n < NUMOFOBJECTS; n++)
@@ -81,161 +80,161 @@ void
 whichway(here)
        struct room here;
 {
-       switch(direction) {
-
-               case NORTH:
-                       left = here.west;
-                       right = here.east;
-                       ahead = here.north;
-                       back = here.south;
-                       break;
-               
-               case SOUTH:
-                       left = here.east;
-                       right = here.west;
-                       ahead = here.south;
-                       back = here.north;
-                       break;
-
-               case EAST:
-                       left = here.north;
-                       right = here.south;
-                       ahead = here.east;
-                       back = here.west;
-                       break;
-
-               case WEST:
-                       left = here.south;
-                       right = here.north;
-                       ahead = here.west;
-                       back = here.east;
-                       break;
+       switch (direction) {
+
+       case NORTH:
+               left = here.west;
+               right = here.east;
+               ahead = here.north;
+               back = here.south;
+               break;
+
+       case SOUTH:
+               left = here.east;
+               right = here.west;
+               ahead = here.south;
+               back = here.north;
+               break;
+
+       case EAST:
+               left = here.north;
+               right = here.south;
+               ahead = here.east;
+               back = here.west;
+               break;
+
+       case WEST:
+               left = here.south;
+               right = here.north;
+               ahead = here.west;
+               back = here.east;
+               break;
 
        }
 }
 
-char *
+const char   *
 truedirec(way, option)
-       int way;
-       char option;
+       int     way;
+       char    option;
 {
-       switch(way) {
+       switch (way) {
 
+       case NORTH:
+               switch (direction) {
                case NORTH:
-                       switch(direction) {
-                               case NORTH:
-                                       return("ahead");
-                               case SOUTH:
-                                       return(option == '+' ? "behind you" :
-                                           "back");
-                               case EAST:
-                                       return("left");
-                               case WEST:
-                                       return("right");
-                       }
+                       return ("ahead");
+               case SOUTH:
+                       return (option == '+' ? "behind you" :
+                           "back");
+               case EAST:
+                       return ("left");
+               case WEST:
+                       return ("right");
+               }
 
+       case SOUTH:
+               switch (direction) {
+               case NORTH:
+                       return (option == '+' ? "behind you" :
+                           "back");
                case SOUTH:
-                       switch(direction) {
-                               case NORTH:
-                                       return(option == '+' ? "behind you" :
-                                           "back");
-                               case SOUTH:
-                                       return("ahead");
-                               case EAST:
-                                       return("right");
-                               case WEST:
-                                       return("left");
-                       }
+                       return ("ahead");
+               case EAST:
+                       return ("right");
+               case WEST:
+                       return ("left");
+               }
 
+       case EAST:
+               switch (direction) {
+               case NORTH:
+                       return ("right");
+               case SOUTH:
+                       return ("left");
                case EAST:
-                       switch(direction) {
-                               case NORTH:
-                                       return("right");
-                               case SOUTH:
-                                       return("left");
-                               case EAST:
-                                       return("ahead");
-                               case WEST:      
-                                       return(option == '+' ? "behind you" :
-                                           "back");
-                       }
+                       return ("ahead");
+               case WEST:
+                       return (option == '+' ? "behind you" :
+                           "back");
+               }
 
+       case WEST:
+               switch (direction) {
+               case NORTH:
+                       return ("left");
+               case SOUTH:
+                       return ("right");
+               case EAST:
+                       return (option == '+' ? "behind you" :
+                           "back");
                case WEST:
-                       switch(direction) {
-                               case NORTH:
-                                       return("left");
-                               case SOUTH:
-                                       return("right");
-                               case EAST:
-                                       return(option == '+' ? "behind you" :
-                                           "back");
-                               case WEST:
-                                       return("ahead");
-                       }
+                       return ("ahead");
+               }
 
-               default:
-                       printf("Error: room %d.  More than four directions wanted.", position);
-                       return("!!");
-      }
+       default:
+               printf("Error: room %d.  More than four directions wanted.", position);
+               return ("!!");
+       }
 }
 
 void
 newway(thisway)
-       int thisway;
+       int     thisway;
 {
-       switch(direction){
+       switch (direction) {
 
-               case NORTH:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = WEST;
-                                       break;
-                               case RIGHT:
-                                       direction = EAST;
-                                       break;
-                               case BACK:
-                                       direction = SOUTH;
-                                       break;
-                       }
+       case NORTH:
+               switch (thisway) {
+               case LEFT:
+                       direction = WEST;
                        break;
-               case SOUTH:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = EAST;
-                                       break;
-                               case RIGHT:
-                                       direction = WEST;
-                                       break;
-                               case BACK:
-                                       direction = NORTH;
-                                       break;
-                       }
+               case RIGHT:
+                       direction = EAST;
                        break;
-               case EAST:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = NORTH;
-                                       break;
-                               case RIGHT:
-                                       direction = SOUTH;
-                                       break;
-                               case BACK:
-                                       direction = WEST;
-                                       break;
-                       }
+               case BACK:
+                       direction = SOUTH;
                        break;
-               case WEST:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = SOUTH;
-                                       break;
-                               case RIGHT:
-                                       direction = NORTH;
-                                       break;
-                               case BACK:
-                                       direction = EAST;
-                                       break;
-                       }
+               }
+               break;
+       case SOUTH:
+               switch (thisway) {
+               case LEFT:
+                       direction = EAST;
+                       break;
+               case RIGHT:
+                       direction = WEST;
+                       break;
+               case BACK:
+                       direction = NORTH;
+                       break;
+               }
+               break;
+       case EAST:
+               switch (thisway) {
+               case LEFT:
+                       direction = NORTH;
+                       break;
+               case RIGHT:
+                       direction = SOUTH;
                        break;
-      }
+               case BACK:
+                       direction = WEST;
+                       break;
+               }
+               break;
+       case WEST:
+               switch (thisway) {
+               case LEFT:
+                       direction = SOUTH;
+                       break;
+               case RIGHT:
+                       direction = NORTH;
+                       break;
+               case BACK:
+                       direction = EAST;
+                       break;
+               }
+               break;
+       }
 }