|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)visual.c 4.2 (Berkeley) 5/27/83"; ! 3: #endif not lint ! 4: ! 5: # include "trek.h" ! 6: ! 7: /* ! 8: ** VISUAL SCAN ! 9: ** ! 10: ** A visual scan is made in a particular direction of three sectors ! 11: ** in the general direction specified. This takes time, and ! 12: ** Klingons can attack you, so it should be done only when sensors ! 13: ** are out. ! 14: */ ! 15: ! 16: /* This struct[] has the delta x, delta y for particular directions */ ! 17: struct xy Visdelta[11] = ! 18: { ! 19: -1, -1, ! 20: -1, 0, ! 21: -1, 1, ! 22: 0, 1, ! 23: 1, 1, ! 24: 1, 0, ! 25: 1, -1, ! 26: 0, -1, ! 27: -1, -1, ! 28: -1, 0, ! 29: -1, 1 ! 30: }; ! 31: ! 32: visual() ! 33: { ! 34: register int ix, iy; ! 35: int co; ! 36: register struct xy *v; ! 37: ! 38: co = getintpar("direction"); ! 39: if (co < 0 || co > 360) ! 40: return; ! 41: co = (co + 22) / 45; ! 42: v = &Visdelta[co]; ! 43: ix = Ship.sectx + v->x; ! 44: iy = Ship.secty + v->y; ! 45: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS) ! 46: co = '?'; ! 47: else ! 48: co = Sect[ix][iy]; ! 49: printf("%d,%d %c ", ix, iy, co); ! 50: v++; ! 51: ix = Ship.sectx + v->x; ! 52: iy = Ship.secty + v->y; ! 53: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS) ! 54: co = '?'; ! 55: else ! 56: co = Sect[ix][iy]; ! 57: printf("%c ", co); ! 58: v++; ! 59: ix = Ship.sectx + v->x; ! 60: iy = Ship.secty + v->y; ! 61: if (ix < 0 || ix >= NSECTS || iy < 0 || iy >= NSECTS) ! 62: co = '?'; ! 63: else ! 64: co = Sect[ix][iy]; ! 65: printf("%c %d,%d\n", co, ix, iy); ! 66: Move.time = 0.05; ! 67: Move.free = 0; ! 68: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.