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[] = "@(#)visual.c 5.1 (Berkeley) 1/29/86";
9: #endif not lint
10:
11: # include "trek.h"
12:
13: /*
14: ** VISUAL SCAN
15: **
16: ** A visual scan is made in a particular direction of three sectors
17: ** in the general direction specified. This takes time, and
18: ** Klingons can attack you, so it should be done only when sensors
19: ** are out.
20: */
21:
22: /* This struct[] has the delta x, delta y for particular directions */
23: struct xy Visdelta[11] =
24: {
25: -1, -1,
26: -1, 0,
27: -1, 1,
28: 0, 1,
29: 1, 1,
30: 1, 0,
31: 1, -1,
32: 0, -1,
33: -1, -1,
34: -1, 0,
35: -1, 1
36: };
37:
38: visual()
39: {
40: register int ix, iy;
41: int co;
42: register struct xy *v;
43:
44: co = getintpar("direction");
45: if (co < 0 || co > 360)
46: return;
47: co = (co + 22) / 45;
48: v = &Visdelta[co];
49: ix = Ship.sectx + v->x;
50: iy = Ship.secty + v->y;
51: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS)
52: co = '?';
53: else
54: co = Sect[ix][iy];
55: printf("%d,%d %c ", ix, iy, co);
56: v++;
57: ix = Ship.sectx + v->x;
58: iy = Ship.secty + v->y;
59: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS)
60: co = '?';
61: else
62: co = Sect[ix][iy];
63: printf("%c ", co);
64: v++;
65: ix = Ship.sectx + v->x;
66: iy = Ship.secty + v->y;
67: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS)
68: co = '?';
69: else
70: co = Sect[ix][iy];
71: printf("%c %d,%d\n", co, ix, iy);
72: Move.time = 0.05;
73: Move.free = 0;
74: }
Defined functions
Defined variables
sccsid
defined in line
8;
never used