FOREST -,-,/,***********************  The Forest   By Graham T. Relf  1983 Phipps Associates ***********************  60000` 3,11 ;"THE FOREST";5,2;"A simulation of orienteering";7,7;"By Graham T. Relf";10 ,4;" 1983 Phipps Associates" 15,6;"KEEP THE TAPE RUNNING":7:"FOREST":0:15,6;1;" STOP THE TAPE ":x=112 :.05|L,10 :.05|L,15:x:200  5 'h(x=(x)=((x+.5)/256) *l(x=(xx)=(x+.5)-h(x)*256 &i(x)=x+256*(x+1) (?j(x)=(x)/256+(x+1)+256*(x+2) 2)m(x(,yR)=(x+y+(x-y))/2 0delay "u=umove:lastht=ht:ht=j(xfhg) xfinfl=12900T xtg=10 1010 i$=:i$=""1500 *i$=8i$="5"u=uleft:1500 +i$=9 i$="8"u=uright:1500 +i$=10 i$="6"u=uback:1010 !i$=11 i$="7"1500 " 1010 Gbear=(b2d*xbear):0,0;"BEARING: ";bear;" degrees "; -"New bearing:";b$:b$<11000 -b$(1)<"0"b$(1)>"9"1000 *b=b$:b<0b>360h1000 b=360hb=0 xbear,b*d2b:1000 4m:"Course A 5.5km."::i=1mc:i;4;c$(i);" ";d$(i):i::"Navigate to finish (no tapes)" >i$=:i$=""2110> H 1000 9:"Control card"::i=1nc:i;4;a$(i):i  2110> xcode=32 1010 lm$="PUNCH: control number? ":5200P:cno=x:cno>0cnonca$(cno)=(xcode)+((xcode+1))  2120H TO:7:900:0,24;1;0;7;"FINISH": ^;i=1mc:a$(i)=" ""Missing number ";i:2930r h a$(i)c$(i)"Wrong number ";i ri |cheat=0 +"YOU CHEATED ";:cheat=1"ONCE!": cheat;" TIMES!"  *7::" THE FOREST : MAIN MENU": $" 0) Return to scene (no penalty)" " 1) Get coordinates" " 2) Map terrain types" " 3) Map contours" " 4) Scan for point features" " 5) Draw cross-section" " 6) Draw 3D view" " 7) Give up (stop)" 1forest=1" 8) Go to more complex forest" -forest=2" 8) Back to normal forest" " 9) Alter the set course" :" Which?" ::" NB: 1 to 6 are not possible in":" real orienteering, so they are":" counted as cheating and will be":" reported at the finish." 6" After an option any key returns":" to this menu." i$=:i$=""3100 !$i$>"0"i$<"7"cheat=cheat+1 &i$="0"1:1000 0i$="1"4000 :i$="2"5000 Di$="3"6000p Ni$="4"7000X Xi$="5"8000@ bi$="6"9000(# li$="7"2900T qi$="8"3500 vi$="9"7500L { 3000 forest=23700t forest=2:3510 &i=62783?62802R:x:i,x:i ʵ38&,0,1,84T,236,9 ,78N,6,0,42*,35#,246,9 ,34",35#,246,193,16,207,201 &i=63013%63022.:x:i,x:i Y0,27,13 ,26,21,21,22,11 ,29,1  tforest=1:3700t ~&i=62783?62802R:x:i,x:i 85U,95_,122z,254,127,568,10 ,123{,47/,198,1,95_,122z,47/,206,0,87W,42*,34",246 &i=63013%63022.:x:i,x:i `200,3,165,37%,127,96`,101e,202,13 ,157  ::" You are standing at" 4" x = ";i(xhxt-1):" y = ";i(xhyt-1) 4020 =""4030  Unx=32 :ny=24:61322,13 :61323,239:9500% P(m$);q$:ñq$5200P ZDx=1̱q$:q$(x)<"0"q$(x)>"9".4L,-10 :5200P d x:x=q$ n p?:"Fine or coarse map? ";f$:¯f$="f"¯f$="F"85004! zTnx=32 :ny=24:61322,187:61323,238:9500% X&nx=1:ny=1:9500% Qm$="Step size? [1..8m] ":5200P:ss=x:ss<1ss>87100 8s2=(ss/2):x0=ss*(x0/ss)-s2:y0=ss*(y0/ss)-s2 "nx=w/ss+1:ny=h/ss+1 Fxl=l(x0):xh=h(x0):xhxt-2,0:xhxt-1,xl:xhxt,xh Fyl=l(y0):yh=h(y0):xhyt-2,0:xhyt-1,yl:xhyt,yh "b=128:dy=ss:i=1nx b=07180  b=0:7190  b=128 xbear,b:j=1ny  Yu=umove:xbear,b:0,0;"x = ";i(xhxt-1);" y = ";i(xhyt-1); %Zxcode32 21,14;7;2;1;¾xcode;¾(xcode+1) *;xobsfe00,23;"Any key";:7900 48yl=yl+dy:yl256yl=yl-256:yh=yh+1 >-yl-1yl=yl+256:yh=yh-1 H=" "3000 Rxhyt-1,yl:xhyt,yh:j \Bu=uback:xl=xl+ss:xl256xl=xl-256:xh=xh+1 f-xl-1xl=xl+256:xh=xh-1 p%xhxt-1,xl:xhxt,xh:dy=-dy:i z 3000 L)7::" COURSE PLANNER'S MENU": V" 0) Return to main menu" `" 1) Set new course" j" 2) Save course on tape" t" 3) Load course from tape" ~ :" Which?" i$=:i$=""7560 i$="0"3000 i$="1"7800x i$="2"7700 i$="3"7750F  7500L ':"Saving course on tape (3 files)" *l(2):l(1)=nc:l(2)=mc ("lengths"l() 2"codes"c$() <"descs"d$() A F%:"Load course from tape (3 files)" P"lengths"l() Z"codes"c$() d"descs"d$() nnc=l(1):mc=l(2) s x:"SETTING NEW COURSE" }Vm$="How many controls? [1.."+nc+"]":5200P:mc=x:mc<1mc>nc7805} 1a$(nc,2):c$(mc,2):d$(mc,12 ) i=1mc:7880:i 9"Change any? [y/n] ";h$:¯h$"y"¯h$"Y"7500L Om$="Control no.? [1.."+(mc)+"]":5200P:i=x:i<1i>mc7825 7880:7820 ""Control ";(i);": code? ";c$(i) ("Control ";(i);": description?";d$(i) 8i+2,2;i;5;c$(i);10 ;d$(i);: =""7900  @`nx=255:ny=1:h=0:61322,568:61323,239:9500% !4lnx=255:ny=175:61322,72H:61323,238:61348,175:9500% #(Wnx=255:ny=100d:61322,568:61323,239:9500% %nnx=1:nny=1:7::100d,100d:90Z,30:i$"5"-15,45-:-90Z,-30:15,-45- %&200,80P:-170,0:0,95_:100d,90Z:0,80P:100d,130:30,-20,-1.2 %0`12 ,23;"x";:0,2;"y";:7,13 ;"b";:0,12 ;"N"; %:S8,18;"w";:9 ,7;"x0,y0";:i$"5"2,23;"h"; %Sj$="":m$="Corner of plot: x0 ?":5200P:x0=x:15,0;"x0 = ";x0; %`m$="Corner of plot: y0 ?":5200P:y0=x:16,0;"y0 = ";y0;:i$="4"9620% %"Specify w & h or scale? [W,S]";j$:¯j$="S"¯j$="s"m$="Scale ? [n, as in 1:n,000]":5200P:nnx=x:w=nnx*nx:h=nnx*ny:nny=nnx:9631% %3m$="Width, w metres ?":5200P:w=x:nnx=w/nx %<i$"5"m$="Height, h metres ?":5200P:h=x:nny=h/ny %N(j$="S"j$="s")(i$="5"i$="6"(i$="3"f$="f"))w=w/8:h=h*0.24~u[ %15,16;"w = ";w;" m.";:16,16;"h = ";h;" m.";:i$"4"17,0;"x scale = 1:";(nnx*1000);:18,0;"y scale = 1:";(nny*1000); %i$="4"7100 %Rm$="Angle b degrees ?":5200P:b=x:19,0;"b = ";b;" degrees"; %n(i$="3"f$"f")m$="Contour interval? [1.25..80m]":5200P:ci=x:ci<1.25 ci>80P9642% %7(i$="3"f$"f")61114,(6.4L*ci)/2 %"br=b*/180:sb=br:cb=br %x0=x0-h*cb:y0=y0+h*sb:h=-h %(61301u,h(x0):61300t,l(x0) %(61303w,h(y0):61302v,l(y0) %7dxl=w*sb/nx:61309},h(dxl):61308|,l(dxl) %7dyl=w*cb/nx:61311,h(dyl):61310~,l(dyl) %8dxc=-h*cb/ny:61313,h(dxc):61312,l(dxc) %7dyc=h*sb/ny:61315,h(dyc):61314,l(dyc) % 61316,nx:61317,ny &:u=61324 & 61348,191 &=""9900& ' '9:"FOREST"1:"FOREST"60500T,5036: FOREST T-MPTX\`ehlpsvx{~~{zzz{}~{voiea]ZVRNJGECCCBCEGIJIIGEB>:64467:;>??AAABBCEFIMPRUXZ]_````]\ZUPKGC?<:742/,+)('$#!   !$%''((('''%%%$$$##!!   #')-2:?EIMPRTTUUTTRQPKIGGIJK*#B,,,}8<&o< ~K"~2#~C', r8t mg0sl>[#z {0:G:><2(02:o&))))):O X  *"*"t*"*":O! à*#B,,,}8<2:F2:2ͣV V*  *t"x*v"z22:G>22*x"*z":G22*!*[|"*[~"!4!4*x["x*z["z!4!5y!<:WK~(WW">8(#:28d:2Ud:ƀ2!@r@!@X!X!@rW!WZ!Z 6:jw__:k([(2:O[:""22:O[:""22! &:G+~ +: :G+~ >2t:2*":2:2*"gK#> 2jl>2:$2:͕Sj[:2"*[:2"t:O:*[R eo|?2b))2c2: ( : >2:O! ^#V:b&o))))):O X :( ͻ: (ͻ:( "R|[06;:02:2|!oY:!_^#V!Z :(*> ( !Zͻ   Xdptz:͕!r#s>y(yDO>!0}/o|/gDG&}(&L)!: 8##^#V!Z #*57<>@:"2*#"| }8s22:$ :#8S:$ :#8!:$ :#8>2ý>2ý:$ :#8>2ý>2ý>2ý>22> 2ý!%2"2#2$[:Gc[:GcрZU_z8 {/_z/W*""":$2$ɯgoNy ͡͡͡͡͡͡͡#ͭͭͭͭͭͭͭЀZАR :0Q!*22:2:2:# *:#?2:#@(:$A2:#A2ɯ2> 22%`e ja~|`kDvle_9 ~_' "%(+.1369 2jl>2!Z !Z X!bZͻ!eZͻ!hZͻd!kZͻ!Zͻ!Zͻ!tZͻ!wZͻ!zZͻX!}Zͻ!@V fL @V 7V0>6R~ݾ 0 ! ~< yO#  y -w#RunThickMoorGrassLakeTownDepressionKnollNicheBoulderBuildingRuinRoot stockSheep foldMine shaftRock outcropPondWater tankYp[*|X8=Y8Z8 [01 :wB(&o)))< ~(## X!j́@!k+ >x >x >x:::::?::::?%˫T[\yVYjT*YvYB*I*]* ]*5Zg;????;;;;???;;;88;CCCCCCC;;;C;;;CCCCCCC ?  <~ 88888888 ;; 88 x ;_s>[ v F9 j&f;N W x`ݪ 6 #E: ws޵ $`p    ~T;=> @H  X> 8    UMѨ F4 k hP    hCW"- (4H, 1Nu|n 4ڼXh hCW"- hCW"- 1Nu|n (4H, 1Nu|n hCW"- 1Nu|n &).A 1Nu|n 1Nu|n 1Nu|n 1Nu|n 1Nu|n hCW"- 1Nu|n &).A 1Nu|n (4H, 1Nu|n (4H,   (4H, (4H, 1Nu|n P(z  1Nu|n (4H, 1Nu|n @Pp  $,N!4 1Nu|n H`6  0d;g `@8[*|X8*Y8Z8 [0 wBw( $8O  P P PM?$@MN!N\GWq !`v>?? @@ "LCL2UUUU((*