|
|
1.1 root 1: # include "trek.h"
2:
3: /**
4: ** initialize quadrant upon entering
5: **/
6:
7: initquad(f)
8: int f;
9: {
10: register int i, j;
11: int rx, ry;
12: int nbases, nstars, nholes;
13: register QUAD *q;
14:
15: q = &Quad[Quadx][Quady];
16: if (q->stars < 0)
17: return;
18: Nkling = q->qkling;
19: nholes = q->holes;
20: nbases = q->bases;
21: nstars = q->stars;
22: if (Nkling > 0 && !f)
23: {
24: printf("Condition RED\n");
25: Status.cond = RED;
26: if (!Damage[COMPUTER] && !Status.cloaked && !Damage[SHIELD] && !Status.shldup) {
27: printf("Shields are down, %d%%. ", effshld());
28: if(getynpar("Do you want them up")==1)
29: protect(0);
30: }
31: }
32: for (i = 0; i < NSECTS; i++)
33: for (j = 0; j < NSECTS; j++)
34: Sect[i][j] = EMPTY;
35:
36: /* initialize Enterprise */
37: Sect[Sectx][Secty] = Status.ship;
38:
39: /* initialize Klingons */
40: for (i = 0; i < Nkling; i++)
41: {
42: sector(&rx, &ry);
43: Sect[rx][ry] = KLINGON;
44: Kling[i].x = rx;
45: Kling[i].y = ry;
46: Kling[i].power = Param.klingpwr;
47: }
48: compkldist(1);
49:
50: /* initialize star base */
51: if (nbases > 0)
52: {
53: sector(&rx, &ry);
54: Sect[rx][ry] = BASE;
55: Starbase.x = rx;
56: Starbase.y = ry;
57: }
58:
59: /* initialize inhabited starsystem */
60: if (q->systemname && (q->systemname&Q_GHOST)==0)
61: {
62: sector(&rx, &ry);
63: Sect[rx][ry] = INHABIT;
64: nstars =- 1;
65: }
66:
67: /* initialize stars */
68: for (i = 0; i < nstars; i++)
69: {
70: sector(&rx, &ry);
71: Sect[rx][ry] = STAR;
72: }
73:
74: /* initialise black holes */
75: for (i = 0; i < nholes; i++)
76: {
77: sector(&rx, &ry);
78: Sect[rx][ry] = BLACKHOLE;
79: }
80: Move.newquad = 1;
81: }
82:
83:
84: sector(x, y)
85: int *x, *y;
86: {
87: register int i, j;
88:
89: do
90: {
91: i = ranf(NSECTS);
92: j = ranf(NSECTS);
93: } while (Sect[i][j] != EMPTY);
94: *x = i;
95: *y = j;
96: return;
97: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.