|
|
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 provided
6: * that: (1) source distributions retain this entire copyright notice and
7: * comment, and (2) distributions including binaries display the following
8: * acknowledgement: ``This product includes software developed by the
9: * University of California, Berkeley and its contributors'' in the
10: * documentation or other materials provided with the distribution and in
11: * all advertising materials mentioning features or use of this software.
12: * Neither the name of the University nor the names of its contributors may
13: * be used to endorse or promote products derived from this software without
14: * specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
16: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
17: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #ifndef lint
21: static char sccsid[] = "@(#)dumpme.c 5.4 (Berkeley) 6/1/90";
22: #endif /* not lint */
23:
24: # include "trek.h"
25:
26: /*
27: ** Dump the starship somewhere in the galaxy
28: **
29: ** Parameter is zero if bounce off of negative energy barrier,
30: ** one if through a black hole
31: **
32: ** Note that the quadrant is NOT initialized here. This must
33: ** be done from the calling routine.
34: **
35: ** Repair of devices must be deferred.
36: */
37:
38: dumpme(flag)
39: int flag;
40: {
41: register int f;
42: double x;
43: register struct event *e;
44: register int i;
45:
46: f = flag;
47: Ship.quadx = ranf(NQUADS);
48: Ship.quady = ranf(NQUADS);
49: Ship.sectx = ranf(NSECTS);
50: Ship.secty = ranf(NSECTS);
51: x += 1.5 * franf();
52: Move.time += x;
53: if (f)
54: {
55: printf("%s falls into a black hole.\n", Ship.shipname);
56: }
57: else
58: {
59: printf("Computer applies full reverse power to avoid hitting the\n");
60: printf(" negative energy barrier. A space warp was entered.\n");
61: }
62: /* bump repair dates forward */
63: for (i = 0; i < MAXEVENTS; i++)
64: {
65: e = &Event[i];
66: if (e->evcode != E_FIXDV)
67: continue;
68: reschedule(e, (e->date - Now.date) + x);
69: }
70: events(1);
71: printf("You are now in quadrant %d,%d. It is stardate %.2f\n",
72: Ship.quadx, Ship.quady, Now.date);
73: Move.time = 0;
74: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.