]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - battlestar/com6.c
Wording, punctuation and line length improvements. Also adjust test
[bsdgames-darwin.git] / battlestar / com6.c
index 58a6e0a0b6815cfabf2c3b9cb01e737736278c87..5bd9ebdc95e94faf227ec06fa5d776953887276e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: com6.c,v 1.7 1997/10/10 11:39:32 lukem Exp $   */
+/*     $NetBSD: com6.c,v 1.16 2000/09/10 10:51:17 jsm Exp $    */
 
 /*
  * Copyright (c) 1983, 1993
@@ -38,9 +38,9 @@
 #if 0
 static char sccsid[] = "@(#)com6.c     8.2 (Berkeley) 4/28/95";
 #else
-__RCSID("$NetBSD: com6.c,v 1.7 1997/10/10 11:39:32 lukem Exp $");
+__RCSID("$NetBSD: com6.c,v 1.16 2000/09/10 10:51:17 jsm Exp $");
 #endif
-#endif /* not lint */
+#endif                         /* not lint */
 
 #include "extern.h"
 #include "pathnames.h"
@@ -48,46 +48,43 @@ __RCSID("$NetBSD: com6.c,v 1.7 1997/10/10 11:39:32 lukem Exp $");
 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;
                        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;
                ourtime++;
                puts("You are down.");
-               return(1);
-       }
-       else
+               return (1);
+       } else
                puts("You can't land here.");
-       return(0);
+       return (0);
 }
 
 void
-die()          /* endgame */
-{
+die()
+{                              /* endgame */
        printf("bye.\nYour rating was %s.\n", rate());
        post(' ');
        exit(0);
@@ -95,7 +92,7 @@ die()                 /* endgame */
 
 void
 diesig(dummy)
-       int dummy;
+       int     dummy __attribute__((__unused__));
 {
        die();
 }
@@ -108,124 +105,146 @@ live()
        exit(0);
 }
 
+static FILE *score_fp;
+
+void
+open_score_file()
+{
+       score_fp = fopen(_PATH_SCORE, "a");
+       if (score_fp == NULL)
+               warn("open %s for append", _PATH_SCORE);
+       if (score_fp != NULL && fileno(score_fp) < 3)
+               exit(1);
+}
+
 void
 post(ch)
-       char ch;
+       char    ch;
 {
-       FILE *fp;
-       struct timeval tv;
-       char *date;
+       time_t tv;
+       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);
+       tv = time(NULL);
+       date = ctime(&tv);
        date[24] = '\0';
-       if ((fp = fopen(_PATH_SCORE,"a")) != NULL) {
-               fprintf(fp, "%s  %8s  %c%20s", date, uname, ch, rate());
+       if (score_fp != NULL) {
+               fprintf(score_fp, "%s  %8s  %c%20s", date, username, ch, rate());
                if (wiz)
-                       fprintf(fp, "   wizard\n");
-               else if (tempwiz)
-                       fprintf(fp, "   WIZARD!\n");
+                       fprintf(score_fp, "   wizard\n");
                else
-                       fprintf(fp, "\n");
-       } else
-               perror(_PATH_SCORE);
-       sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
+                       if (tempwiz)
+                               fprintf(score_fp, "   WIZARD!\n");
+                       else
+                               fprintf(score_fp, "\n");
+       }
+       sigprocmask(SIG_SETMASK, &osigset, (sigset_t *) 0);
 }
 
-char *
+const char   *
 rate()
 {
-       int score;
+       int     score;
 
-       score = max(max(pleasure,power),ego);
-       if (score == pleasure){
+       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{
-               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;
                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);
+               puts("forward through bush and fern.  You are thrown and the horse gallops off.");
+               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);
 }
 
 void
-light()                /* synonyms = {strike, smoke} */
-{              /* for matches, cigars */
-       if (testbit(inven,MATCHES) && matchcount){
+light()
+{                              /* synonyms = {strike, smoke} *//* for
+                                * matches, cigars */
+       if (testbit(inven, MATCHES) && matchcount) {
                puts("Your match splutters to life.");
                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.");
 }