]> git.cameronkatri.com Git - bsdgames-darwin.git/blob - hack/hack.track.c
Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
[bsdgames-darwin.git] / hack / hack.track.c
1 /* $NetBSD: hack.track.c,v 1.4 1997/10/19 16:59:11 christos Exp $ */
2
3 /*
4 * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985.
5 */
6
7 #include <sys/cdefs.h>
8 #ifndef lint
9 __RCSID("$NetBSD: hack.track.c,v 1.4 1997/10/19 16:59:11 christos Exp $");
10 #endif /* not lint */
11
12 #include "hack.h"
13 #include "extern.h"
14
15 #define UTSZ 50
16
17 coord utrack[UTSZ];
18 int utcnt = 0;
19 int utpnt = 0;
20
21 void
22 initrack()
23 {
24 utcnt = utpnt = 0;
25 }
26
27 /* add to track */
28 void
29 settrack()
30 {
31 if (utcnt < UTSZ)
32 utcnt++;
33 if (utpnt == UTSZ)
34 utpnt = 0;
35 utrack[utpnt].x = u.ux;
36 utrack[utpnt].y = u.uy;
37 utpnt++;
38 }
39
40 coord *
41 gettrack(x, y)
42 int x, y;
43 {
44 int i, cnt, dist;
45 coord tc;
46 cnt = utcnt;
47 for (i = utpnt - 1; cnt--; i--) {
48 if (i == -1)
49 i = UTSZ - 1;
50 tc = utrack[i];
51 dist = (x - tc.x) * (x - tc.x) + (y - tc.y) * (y - tc.y);
52 if (dist < 3)
53 return (dist ? &(utrack[i]) : 0);
54 }
55 return (0);
56 }