1: /*
2: * Copyright (c) 1980 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char sccsid[] = "@(#)win.c 5.1 (Berkeley) 5/30/85";
9: #endif not lint
10:
11: # include "trek.h"
12: # include "getpar.h"
13:
14: /*
15: ** Signal game won
16: **
17: ** This routine prints out the win message, arranges to print out
18: ** your score, tells you if you have a promotion coming to you,
19: ** cleans up the current input line, and arranges to have you
20: ** asked whether or not you want another game (via the reset()
21: ** call).
22: **
23: ** Pretty straightforward, although the promotion algorithm is
24: ** pretty off the wall.
25: */
26:
27: win()
28: {
29: long s;
30: extern long score();
31: extern struct cvntab Skitab[];
32: register struct cvntab *p;
33:
34: sleep(1);
35: printf("\nCongratulations, you have saved the Federation\n");
36: Move.endgame = 1;
37:
38: /* print and return the score */
39: s = score();
40:
41: /* decide if she gets a promotion */
42: if (Game.helps == 0 && Game.killb == 0 && Game.killinhab == 0 && 5 * Game.kills + Game.deaths < 100 &&
43: s >= 1000 && Ship.ship == ENTERPRISE)
44: {
45: printf("In fact, you are promoted one step in rank,\n");
46: if (Game.skill >= 6)
47: printf("to the exalted rank of Commodore Emeritus\n");
48: else
49: {
50: p = &Skitab[Game.skill - 1];
51: printf("from %s%s ", p->abrev, p->full);
52: p++;
53: printf("to %s%s\n", p->abrev, p->full);
54: }
55: }
56:
57: /* clean out input, and request new game */
58: skiptonl(0);
59: reset();
60: }
Defined functions
win
defined in line
27; used 2 times
Defined variables
sccsid
defined in line
8;
never used