Annotation of 43BSD/games/trek/visual.c, revision 1.1.1.1

1.1       root        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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.