X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/b4bb83fd34ab5386afa1b8af8e0956ff7953d0e0..9d392898ef791c3bb126639435de44743cc5e4e8:/battlestar/room.c diff --git a/battlestar/room.c b/battlestar/room.c index 30fb4079..5cbaf850 100644 --- a/battlestar/room.c +++ b/battlestar/room.c @@ -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 @@ -12,11 +12,7 @@ * 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. * @@ -38,26 +34,29 @@ #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; + } }