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

visual defined in line 38; used 2 times

Defined variables

Visdelta defined in line 23; used 1 times
  • in line 48
sccsid defined in line 8; never used
Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 901
Valid CSS Valid XHTML 1.0 Strict