X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/3e95714e815457b8e2c95138f9242701e3c08434..841b491f968c54e5a99d713163aa381d827a6516:/battlestar/com6.c diff --git a/battlestar/com6.c b/battlestar/com6.c index 5b8b755f..adb34a62 100644 --- a/battlestar/com6.c +++ b/battlestar/com6.c @@ -1,4 +1,4 @@ -/* $NetBSD: com6.c,v 1.5 1995/04/27 21:30:23 mycroft Exp $ */ +/* $NetBSD: com6.c,v 1.9 1997/10/13 21:05:36 cjs Exp $ */ /* * Copyright (c) 1983, 1993 @@ -33,61 +33,71 @@ * SUCH DAMAGE. */ +#include #ifndef lint #if 0 -static char sccsid[] = "@(#)com6.c 8.1 (Berkeley) 5/31/93"; +static char sccsid[] = "@(#)com6.c 8.2 (Berkeley) 4/28/95"; #else -static char rcsid[] = "$NetBSD: com6.c,v 1.5 1995/04/27 21:30:23 mycroft Exp $"; +__RCSID("$NetBSD: com6.c,v 1.9 1997/10/13 21:05:36 cjs Exp $"); #endif -#endif /* not lint */ +#endif /* not lint */ -#include "externs.h" +#include "extern.h" #include "pathnames.h" +int launch() { - if (testbit(location[position].objects,VIPER) && !notes[CANTLAUNCH]){ - if (fuel > 4){ - clearbit(location[position].objects,VIPER); + if (testbit(location[position].objects, VIPER) && !notes[CANTLAUNCH]) { + if (fuel > 4) { + clearbit(location[position].objects, VIPER); position = location[position].up; notes[LAUNCHED] = 1; - time++; + ourtime++; fuel -= 4; puts("You climb into the viper and prepare for launch."); puts("With a touch of your thumb the turbo engines ignite, thrusting you back into\nyour seat."); - return(1); - } - else + return (1); + } else puts("Not enough fuel to launch."); - } - else + } else puts("Can't launch."); - return(0); + return (0); } +int land() { - if (notes[LAUNCHED] && testbit(location[position].objects,LAND) && location[position].down){ + if (notes[LAUNCHED] && testbit(location[position].objects, LAND) && + location[position].down) { notes[LAUNCHED] = 0; position = location[position].down; - setbit(location[position].objects,VIPER); + setbit(location[position].objects, VIPER); fuel -= 2; - time++; + ourtime++; puts("You are down."); - return(1); - } - else + return (1); + } else puts("You can't land here."); - return(0); + return (0); } -die() /* endgame */ -{ +void +die() +{ /* endgame */ printf("bye.\nYour rating was %s.\n", rate()); post(' '); exit(0); } +void +diesig(dummy) + int dummy; +{ + die(); +} + +void live() { puts("\nYou win!"); @@ -95,128 +105,138 @@ live() exit(0); } -/* - * sigh -- this program thinks "time" is an int. It's easier to not load - * than try and fix it. - */ -#define _KERNEL -#include -#undef _KERNEL - +void post(ch) -char ch; + char ch; { - FILE *fp; + FILE *fp; struct timeval tv; - char *date, *ctime(); + time_t tvsec; + char *date; sigset_t sigset, osigset; sigemptyset(&sigset); sigaddset(&sigset, SIGINT); sigprocmask(SIG_BLOCK, &sigset, &osigset); - gettimeofday(&tv, (struct timezone *)0); /* can't call time */ - date = ctime(&tv.tv_sec); + gettimeofday(&tv, (struct timezone *) 0); /* can't call time */ + tvsec = (time_t) tv.tv_sec; + date = ctime(&tvsec); date[24] = '\0'; - if (fp = fopen(_PATH_SCORE,"a")) { + if ((fp = fopen(_PATH_SCORE, "a")) != NULL) { fprintf(fp, "%s %8s %c%20s", date, uname, ch, rate()); if (wiz) fprintf(fp, " wizard\n"); - else if (tempwiz) - fprintf(fp, " WIZARD!\n"); else - fprintf(fp, "\n"); + if (tempwiz) + fprintf(fp, " WIZARD!\n"); + else + fprintf(fp, "\n"); } else - perror(_PATH_SCORE); - sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0); + warn("fopen %s", _PATH_SCORE); + sigprocmask(SIG_SETMASK, &osigset, (sigset_t *) 0); } -char * +char * rate() { - int score; + int score; - score = max(max(pleasure,power),ego); - if (score == pleasure){ - if (score < 5) - return("novice"); - else if (score < 20) - return("junior voyeur"); - else if (score < 35) - return("Don Juan"); - else return("Marquis De Sade"); - } - else if (score == power){ - if (score < 5) - return("serf"); - else if (score < 8) - return("Samurai"); - else if (score < 13) - return("Klingon"); - else if (score < 22) - return("Darth Vader"); - else return("Sauron the Great"); - } - else{ + score = max(max(pleasure, power), ego); + if (score == pleasure) { if (score < 5) - return("Polyanna"); - else if (score < 10) - return("philanthropist"); - else if (score < 20) - return("Tattoo"); - else return("Mr. Roarke"); - } + return ("novice"); + else + if (score < 20) + return ("junior voyeur"); + else + if (score < 35) + return ("Don Juan"); + else + return ("Marquis De Sade"); + } else + if (score == power) { + if (score < 5) + return ("serf"); + else + if (score < 8) + return ("Samurai"); + else + if (score < 13) + return ("Klingon"); + else + if (score < 22) + return ("Darth Vader"); + else + return ("Sauron the Great"); + } else { + if (score < 5) + return ("Polyanna"); + else + if (score < 10) + return ("philanthropist"); + else + if (score < 20) + return ("Tattoo"); + else + return ("Mr. Roarke"); + } } +int drive() { - if (testbit(location[position].objects,CAR)){ + if (testbit(location[position].objects, CAR)) { puts("You hop in the car and turn the key. There is a perceptible grating noise,"); puts("and an explosion knocks you unconscious..."); - clearbit(location[position].objects,CAR); - setbit(location[position].objects,CRASH); + clearbit(location[position].objects, CAR); + setbit(location[position].objects, CRASH); injuries[5] = injuries[6] = injuries[7] = injuries[8] = 1; - time += 15; + ourtime += 15; zzz(); - return(0); - } - else + return (0); + } else puts("There is nothing to drive here."); - return(-1); + return (-1); } +int ride() { - if (testbit(location[position].objects,HORSE)){ + if (testbit(location[position].objects, HORSE)) { puts("You climb onto the stallion and kick it in the guts. The stupid steed launches"); puts("forward through bush and fern. You are thrown and the horse gallups off."); - clearbit(location[position].objects,HORSE); - while (!(position = rnd(NUMOFROOMS+1)) || !OUTSIDE || !beenthere[position] || location[position].flyhere); - setbit(location[position].objects,HORSE); + clearbit(location[position].objects, HORSE); + while (!(position = rnd(NUMOFROOMS + 1)) || !OUTSIDE || !beenthere[position] || location[position].flyhere); + setbit(location[position].objects, HORSE); if (location[position].north) position = location[position].north; - else if (location[position].south) - position = location[position].south; - else if (location[position].east) - position = location[position].east; else - position = location[position].west; - return(0); - } - else puts("There is no horse here."); - return(-1); + if (location[position].south) + position = location[position].south; + else + if (location[position].east) + position = location[position].east; + else + position = location[position].west; + return (0); + } else + puts("There is no horse here."); + return (-1); } -light() /* synonyms = {strike, smoke} */ -{ /* for matches, cigars */ - if (testbit(inven,MATCHES) && matchcount){ +void +light() +{ /* synonyms = {strike, smoke} *//* for + * matches, cigars */ + if (testbit(inven, MATCHES) && matchcount) { puts("Your match splutters to life."); - time++; + ourtime++; matchlight = 1; matchcount--; - if (position == 217){ + if (position == 217) { puts("The whole bungalow explodes with an intense blast."); die(); } - } - else puts("You're out of matches."); + } else + puts("You're out of matches."); }