Annotation of 43BSDTahoe/games/trek/win.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms are permitted
                      6:  * provided that the above copyright notice and this paragraph are
                      7:  * duplicated in all such forms and that any documentation,
                      8:  * advertising materials, and other materials related to such
                      9:  * distribution and use acknowledge that the software was developed
                     10:  * by the University of California, Berkeley.  The name of the
                     11:  * University may not be used to endorse or promote products derived
                     12:  * from this software without specific prior written permission.
                     13:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     14:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     15:  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     16:  */
                     17: 
                     18: #ifndef lint
                     19: static char sccsid[] = "@(#)win.c      5.3 (Berkeley) 6/18/88";
                     20: #endif /* not lint */
                     21: 
                     22: # include      "trek.h"
                     23: # include      "getpar.h"
                     24: 
                     25: /*
                     26: **  Signal game won
                     27: **
                     28: **     This routine prints out the win message, arranges to print out
                     29: **     your score, tells you if you have a promotion coming to you,
                     30: **     cleans up the current input line, and arranges to have you
                     31: **     asked whether or not you want another game (via the reset()
                     32: **     call).
                     33: **
                     34: **     Pretty straightforward, although the promotion algorithm is
                     35: **     pretty off the wall.
                     36: */
                     37: 
                     38: win()
                     39: {
                     40:        long                    s;
                     41:        extern long             score();
                     42:        extern struct cvntab    Skitab[];
                     43:        register struct cvntab  *p;
                     44: 
                     45:        sleep(1);
                     46:        printf("\nCongratulations, you have saved the Federation\n");
                     47:        Move.endgame = 1;
                     48: 
                     49:        /* print and return the score */
                     50:        s = score();
                     51: 
                     52:        /* decide if she gets a promotion */
                     53:        if (Game.helps == 0 && Game.killb == 0 && Game.killinhab == 0 && 5 * Game.kills + Game.deaths < 100 &&
                     54:                        s >= 1000 && Ship.ship == ENTERPRISE)
                     55:        {
                     56:                printf("In fact, you are promoted one step in rank,\n");
                     57:                if (Game.skill >= 6)
                     58:                        printf("to the exalted rank of Commodore Emeritus\n");
                     59:                else
                     60:                {
                     61:                        p = &Skitab[Game.skill - 1];
                     62:                        printf("from %s%s ", p->abrev, p->full);
                     63:                        p++;
                     64:                        printf("to %s%s\n", p->abrev, p->full);
                     65:                }
                     66:        }
                     67: 
                     68:        /* clean out input, and request new game */
                     69:        skiptonl(0);
                     70:        reset();
                     71: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.