* Copyright (c) 1980 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
static char sccsid
[] = "@(#)win.c 5.3 (Berkeley) 6/18/88";
** This routine prints out the win message, arranges to print out
** your score, tells you if you have a promotion coming to you,
** cleans up the current input line, and arranges to have you
** asked whether or not you want another game (via the reset()
** Pretty straightforward, although the promotion algorithm is
extern struct cvntab Skitab
[];
register struct cvntab
*p
;
printf("\nCongratulations, you have saved the Federation\n");
/* print and return the score */
/* decide if she gets a promotion */
if (Game
.helps
== 0 && Game
.killb
== 0 && Game
.killinhab
== 0 && 5 * Game
.kills
+ Game
.deaths
< 100 &&
s
>= 1000 && Ship
.ship
== ENTERPRISE
)
printf("In fact, you are promoted one step in rank,\n");
printf("to the exalted rank of Commodore Emeritus\n");
p
= &Skitab
[Game
.skill
- 1];
printf("from %s%s ", p
->abrev
, p
->full
);
printf("to %s%s\n", p
->abrev
, p
->full
);
/* clean out input, and request new game */