diff options
author | cgd <cgd@NetBSD.org> | 1993-03-21 09:45:37 +0000 |
---|---|---|
committer | cgd <cgd@NetBSD.org> | 1993-03-21 09:45:37 +0000 |
commit | 77e3814f0c0e3dea4d0032e25666f77e6f83bfff (patch) | |
tree | 7eddfcbf3dd12089e71dc3fafb0a106c5c5766c7 /hack/hack.track.c | |
parent | e81d63576b2e46ab90da7d75fa155ea57ee4d32e (diff) | |
download | bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.gz bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.zst bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.zip |
initial import of 386bsd-0.1 sources
Diffstat (limited to 'hack/hack.track.c')
-rw-r--r-- | hack/hack.track.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/hack/hack.track.c b/hack/hack.track.c new file mode 100644 index 00000000..6b41c2cd --- /dev/null +++ b/hack/hack.track.c @@ -0,0 +1,38 @@ +/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ +/* hack.track.c - version 1.0.2 */ + +#include "hack.h" + +#define UTSZ 50 + +coord utrack[UTSZ]; +int utcnt = 0; +int utpnt = 0; + +initrack(){ + utcnt = utpnt = 0; +} + +/* add to track */ +settrack(){ + if(utcnt < UTSZ) utcnt++; + if(utpnt == UTSZ) utpnt = 0; + utrack[utpnt].x = u.ux; + utrack[utpnt].y = u.uy; + utpnt++; +} + +coord * +gettrack(x,y) register x,y; { +register int i,cnt,dist; +coord tc; + cnt = utcnt; + for(i = utpnt-1; cnt--; i--){ + if(i == -1) i = UTSZ-1; + tc = utrack[i]; + dist = (x-tc.x)*(x-tc.x) + (y-tc.y)*(y-tc.y); + if(dist < 3) + return(dist ? &(utrack[i]) : 0); + } + return(0); +} |