Difference between revisions of "Source:NetHack 1.4f/track.c"

From NetHackWiki
Jump to navigation Jump to search
m (Automated source code upload)
 
m (NetHack 1.4f/track.c moved to Source:NetHack 1.4f/track.c: Robot: moved page)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Below is the full text to '''track.c''' from the [[NetHack 1.4f source code|source code]] of [[NetHack 1.4f]]. To link to a particular line, write [[NetHack 1.4f/track.c#line123|<nowiki>[[NetHack 1.4f/track.c#line123]]</nowiki>]], for example.
+
The source code file '''track.c''' in [[NetHack 1.4f source code|NetHack 1.4f]] is unchanged from [[NetHack 1.3d/track.c]].
 
+
[[Category:NetHack 1.4f source code]]
'''Warning!''' This is the source code from an old release. For the latest release, see [[Source code]]
 
 
 
{{CWI}}
 
<span id="line1">1.   /* SCCS Id: @(#)track.c 1.3 87/07/14</span>
 
<span id="line2">2.    /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */</span>
 
<span id="line3">3.    /* track.c - version 1.0.2 */</span>
 
<span id="line4">4.    </span>
 
<span id="line5">5.    #include "hack.h"</span>
 
<span id="line6">6.    </span>
 
<span id="line7">7.    #define UTSZ 50</span>
 
<span id="line8">8.    </span>
 
<span id="line9">9.    coord utrack[UTSZ];</span>
 
<span id="line10">10.  int utcnt = 0;</span>
 
<span id="line11">11.  int utpnt = 0;</span>
 
<span id="line12">12.  </span>
 
<span id="line13">13.  initrack(){</span>
 
<span id="line14">14.  utcnt = utpnt = 0;</span>
 
<span id="line15">15.  }</span>
 
<span id="line16">16.  </span>
 
<span id="line17">17.  /* add to track */</span>
 
<span id="line18">18.  settrack(){</span>
 
<span id="line19">19.  if(utcnt < UTSZ) utcnt++;</span>
 
<span id="line20">20.  if(utpnt == UTSZ) utpnt = 0;</span>
 
<span id="line21">21.  utrack[utpnt].x = u.ux;</span>
 
<span id="line22">22.  utrack[utpnt].y = u.uy;</span>
 
<span id="line23">23.  utpnt++;</span>
 
<span id="line24">24.  }</span>
 
<span id="line25">25.  </span>
 
<span id="line26">26.  coord *</span>
 
<span id="line27">27.  gettrack(x,y) register x,y; {</span>
 
<span id="line28">28.  register int i,cnt,dist;</span>
 
<span id="line29">29.  coord tc;</span>
 
<span id="line30">30.  cnt = utcnt;</span>
 
<span id="line31">31.  for(i = utpnt-1; cnt--; i--){</span>
 
<span id="line32">32.  if(i == -1) i = UTSZ-1;</span>
 
<span id="line33">33.  tc = utrack[i];</span>
 
<span id="line34">34.  dist = (x-tc.x)*(x-tc.x) + (y-tc.y)*(y-tc.y);</span>
 
<span id="line35">35.  if(dist < 3)</span>
 
<span id="line36">36.  return(dist ? &(utrack[i]) : 0);</span>
 
<span id="line37">37.  }</span>
 
<span id="line38">38.  return(0);</span>
 
<span id="line39">39.  }</span>
 
[[Category:NetHack 1.4f source code|track.c]]
 

Latest revision as of 01:43, 4 March 2008

The source code file track.c in NetHack 1.4f is unchanged from NetHack 1.3d/track.c.