|
|
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[] = "@(#)dumpme.c 5.3 (Berkeley) 6/18/88";
20: #endif /* not lint */
21:
22: # include "trek.h"
23:
24: /*
25: ** Dump the starship somewhere in the galaxy
26: **
27: ** Parameter is zero if bounce off of negative energy barrier,
28: ** one if through a black hole
29: **
30: ** Note that the quadrant is NOT initialized here. This must
31: ** be done from the calling routine.
32: **
33: ** Repair of devices must be deferred.
34: */
35:
36: dumpme(flag)
37: int flag;
38: {
39: register int f;
40: double x;
41: register struct event *e;
42: register int i;
43:
44: f = flag;
45: Ship.quadx = ranf(NQUADS);
46: Ship.quady = ranf(NQUADS);
47: Ship.sectx = ranf(NSECTS);
48: Ship.secty = ranf(NSECTS);
49: x += 1.5 * franf();
50: Move.time += x;
51: if (f)
52: {
53: printf("%s falls into a black hole.\n", Ship.shipname);
54: }
55: else
56: {
57: printf("Computer applies full reverse power to avoid hitting the\n");
58: printf(" negative energy barrier. A space warp was entered.\n");
59: }
60: /* bump repair dates forward */
61: for (i = 0; i < MAXEVENTS; i++)
62: {
63: e = &Event[i];
64: if (e->evcode != E_FIXDV)
65: continue;
66: reschedule(e, (e->date - Now.date) + x);
67: }
68: events(1);
69: printf("You are now in quadrant %d,%d. It is stardate %.2f\n",
70: Ship.quadx, Ship.quady, Now.date);
71: Move.time = 0;
72: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.