]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - adventure/done.c
Remove last traces of old save/load code. We no longer need a private
[bsdgames-darwin.git] / adventure / done.c
index 464d606fb8967e11395fe43b0b031009b712838d..61daab027678e78ab543edb6b0c8189bbb711114 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: done.c,v 1.2 1995/03/21 12:05:01 cgd Exp $     */
+/*     $NetBSD: done.c,v 1.9 2005/07/01 00:03:36 jmc Exp $     */
 
 /*-
  * Copyright (c) 1991, 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.
  *
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)done.c     8.1 (Berkeley) 5/31/93";
 #else
-static char rcsid[] = "$NetBSD: done.c,v 1.2 1995/03/21 12:05:01 cgd Exp $";
+__RCSID("$NetBSD: done.c,v 1.9 2005/07/01 00:03:36 jmc Exp $");
 #endif
 #endif /* not lint */
 
-/*      Re-coding of advent in C: termination routines                  */
+/*      Re-coding of advent in C: termination routines */
 
+#include <stdio.h>
+#include <stdlib.h>
 #include "hdr.h"
+#include "extern.h"
 
-score()                                         /* sort of like 20000   */
-{       register int scor,i;
-       mxscor=scor=0;
-       for (i=50; i<=maxtrs; i++)
-       {       if (ptext[i].txtlen==0) continue;
-               k=12;
-               if (i==chest) k=14;
-               if (i>chest) k=16;
-               if (prop[i]>=0) scor += 2;
-               if (place[i]==3&&prop[i]==0) scor += k-2;
+int
+score(void)
+{                              /* sort of like 20000 */
+       int     scor, i;
+       mxscor = scor = 0;
+       for (i = 50; i <= maxtrs; i++) {
+               if (ptext[i].txtlen == 0)
+                       continue;
+               k = 12;
+               if (i == chest)
+                       k = 14;
+               if (i > chest)
+                       k = 16;
+               if (prop[i] >= 0)
+                       scor += 2;
+               if (place[i] == 3 && prop[i] == 0)
+                       scor += k - 2;
                mxscor += k;
        }
-       scor += (maxdie-numdie)*10;
-       mxscor += maxdie*10;
-       if (!(scorng||gaveup)) scor += 4;
+       scor += (maxdie - numdie) * 10;
+       mxscor += maxdie * 10;
+       if (!(scorng || gaveup))
+               scor += 4;
        mxscor += 4;
-       if (dflag!=0) scor += 25;
+       if (dflag != 0)
+               scor += 25;
        mxscor += 25;
-       if (closng) scor += 25;
+       if (closng)
+               scor += 25;
        mxscor += 25;
-       if (closed)
-       {       if (bonus==0) scor += 10;
-               if (bonus==135) scor += 25;
-               if (bonus==134) scor += 30;
-               if (bonus==133) scor += 45;
+       if (closed) {
+               if (bonus == 0)
+                       scor += 10;
+               if (bonus == 135)
+                       scor += 25;
+               if (bonus == 134)
+                       scor += 30;
+               if (bonus == 133)
+                       scor += 45;
        }
        mxscor += 45;
-       if (place[magzin]==108) scor++;
+       if (place[magzin] == 108)
+               scor++;
        mxscor++;
        scor += 2;
        mxscor += 2;
-       for (i=1; i<=hntmax; i++)
-               if (hinted[i]) scor -= hints[i][2];
-       return(scor);
+       for (i = 1; i <= hntmax; i++)
+               if (hinted[i])
+                       scor -= hints[i][2];
+       return (scor);
 }
 
-done(entry)     /* entry=1 means goto 13000 */  /* game is over         */
-int entry;      /* entry=2 means goto 20000 */ /* 3=19000 */
-{       register int i,sc;
-       if (entry==1) mspeak(1);
-       if (entry==3) rspeak(136);
-       printf("\n\n\nYou scored %d out of a ",(sc=score()));
-       printf("possible %d using %d turns.\n",mxscor,turns);
-       for (i=1; i<=clsses; i++)
-               if (cval[i]>=sc)
-               {       speak(&ctext[i]);
-                       if (i==clsses-1)
-                       {       printf("To achieve the next higher rating");
+/* entry=1 means goto 13000 */ /* game is over */
+/* entry=2 means goto 20000 */ /* 3=19000 */
+void
+done(int entry)
+{
+       int     i, sc;
+       if (entry == 1)
+               mspeak(1);
+       if (entry == 3)
+               rspeak(136);
+       printf("\n\n\nYou scored %d out of a ", (sc = score()));
+       printf("possible %d using %d turns.\n", mxscor, turns);
+       for (i = 1; i <= clsses; i++)
+               if (cval[i] >= sc) {
+                       speak(&ctext[i]);
+                       if (i == clsses - 1) {
+                               printf("To achieve the next higher rating");
                                printf(" would be a neat trick!\n\n");
                                printf("Congratulations!!\n");
                                exit(0);
                        }
-                       k=cval[i]+1-sc;
+                       k = cval[i] + 1 - sc;
                        printf("To achieve the next higher rating, you need");
-                       printf(" %d more point",k);
-                       if (k==1) printf(".\n");
-                       else printf("s.\n");
+                       printf(" %d more point", k);
+                       if (k == 1)
+                               printf(".\n");
+                       else
+                               printf("s.\n");
                        exit(0);
                }
        printf("You just went off my scale!!!\n");
        exit(0);
 }
 
-
-die(entry)                                      /* label 90             */
-int entry;
-{       register int i;
-       if (entry != 99)
-       {       rspeak(23);
-               oldlc2=loc;
+/* label 90 */
+void
+die(int entry)
+{
+       int     i;
+       if (entry != 99) {
+               rspeak(23);
+               oldlc2 = loc;
        }
-       if (closng)                             /* 99                   */
-       {       rspeak(131);
+       if (closng) {           /* 99 */
+               rspeak(131);
                numdie++;
                done(2);
        }
-       yea=yes(81+numdie*2,82+numdie*2,54);
+       yea = yes(81 + numdie * 2, 82 + numdie * 2, 54);
        numdie++;
-       if (numdie==maxdie || !yea) done(2);
-       place[water]=0;
-       place[oil]=0;
-       if (toting(lamp)) prop[lamp]=0;
-       for (i=100; i>=1; i--)
-       {       if (!toting(i)) continue;
-               k=oldlc2;
-               if (i==lamp) k=1;
-               drop(i,k);
+       if (numdie == maxdie || !yea)
+               done(2);
+       place[water] = 0;
+       place[oil] = 0;
+       if (toting(lamp))
+               prop[lamp] = 0;
+       for (i = 100; i >= 1; i--) {
+               if (!toting(i))
+                       continue;
+               k = oldlc2;
+               if (i == lamp)
+                       k = 1;
+               drop(i, k);
        }
-       loc=3;
-       oldloc=loc;
-       return(2000);
+       loc = 3;
+       oldloc = loc;
 }