Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: TERRAIN.UUE Message-ID: <8903211011.AA26856@postgres.Berkeley.EDU> Date: 21 Mar 89 10:11:01 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 282 Have fun... 1> terrain [power [seed]] default power is 6 (2^6 = 64x64 grid) default seed is time(0L) (essentially random) ^C or BREAK the CLI, or ^C/ESC in the screen to kill note: people w/ 512K amiga's can barely do a power of 7 max. technical: This is a fractal terrain generator. The generator uses a stateless binary subdivision method. That is, there is very little static state. This is accomplished by using guarenteed non-randomness for a specific point... That is, after generating an initial seed, the random number generated for a specific point is always the same for that point. This is required for continuity as edge overlap is the basis of the binary subdivision method. -Matt begin 644 terrain M #\P # ( GH !2@ $ /I )Z$[Z$V1. M50 2'@ #2\M AA&%!/84 I0(-^83HI0(-^830I0(-^3EU.=4Y5 @+0 ( M1H B+(-^LX I0(-V("T #$: D*R#?BE @WIA"&$&801.74YU3E4 '(-("R# M=DZZ(X;0K(-Z(BR#=G04Y*&S@"(L@WKF@;&!*4&#=B L@WI2@"(L@W:S@"E M@WH@+(-V"( 'TY=3G5.50 3EU.=4Y5 I;0 (@ ).74YU3E7__@RM M'P (;P@K? !\ "$JM AL!$*M @Y;0 *@X)";?_^8 AC M__Y(P+"M M !!L)# M__Y(P.. 0>R#A#&\ $( # M__Y(P.. 0>R#Q$)P" !@4'(!,"W_ M_DC )"T $%."D(+AH2 M Q.NAN(,BW__DC!XX%![(.$,8 8 # M__Y(P.. M0>R#Q#(M__Y(P>.!0^R#A#0Q& !(PH7\ (Q@@@ 4FW__C M__Y(P+"M AM M /]P0J="IT*G0J="IT*G0J=A"$_O !Q.74YU3E7_X# L@X)(P)"M AR >&A M*T'__" M CC@$'L@X0[< @ _^(@+0 (XX!![(/$.W ( /_@#*T !__QF M*B M !30K0 8T*T (-"M !SD@"\ +RT $"\M P@;( "3I!/[P ,3EU.=2 M M__SB@"M __@O+0 0("T #-"M__@O $ZZ_AY03TZZ_D0R+?_B2,%.NAJZ(BT M%-*M !CB@="!,BW_X$C!D($K0/_T("T $-"M__@O " M S0K?_\+P!.NOW> M4$].NOX$,BW_XDC!3KH:>B(M !C2K0 R$ M%.. +P!.NAP 6$\I0(0$2JR$!&8@,"R$%,'LA!3C@"\ 2'H XDZZ$^I03TAX M !1.NAV66$](> #3KH,BEA/2'H!-$ZZ^\983TALA!9.N@V86$]*@&8 )Q* M;?_^9S!(> "2'@" # L@ A(P"\ 3KK[J$_O Q.N@&L0J=.N@+&6$](> ! M3KH"O%A/8&1(>@"(3KH-_%A/2'H I4ZZ#?)83TAX )(> ( ,"R "$C +P!. MNOMD3^\ #$*G3KH"AEA/+RW_^DAZ *!.NA-$4$].N@%20J=.N@)L6$]"ITZZ M$GI83RM __HO $ZZ^H!83V"P3KH" DAX__].N@QP6$].74YU;6%L;&]C*"5L M9"D@9F%I;&5D"@!01"!497)R86EN($=E;F5R871O2!-871T:&5W($1I M;&QO;@!>0R]%4T,@:6X@&ET M %-E960@/2 E;&0* $Y5 !P # M HR+(042,&P@600< P+0 .,BR$%$C! ML(%E*G ,"T #B\ < P+0 *+P!(>@!D3KH28D_O Q(>/__2&R$%DZZ##10 M3U-L@ IF(#E\ @" "D*G3KH!. (&R$!#&M !(( $Y=3G4E9"PE9"!O=70@;V8@ M8F]U;F1S"@ 3E7_P$*LA.1*K(3<9AY"ITAX %(;( ,3KH(UD_O PY;( 0 MA$PY;( 2A$Y*;(1*9C)"ITAX__\P+( 22, O # L@!!(P"\ ,"R %$C +P!( M;(102&R$>$ZZ!4Y/[P <2H!G:CE\ &$2D*G2&R$>$ZZ'^!03TZZ A)*K(3< M9A!(;( ,3KH@1EA/*4"$W&<^+RR$W$ZZ 2983TJLA.!F&BELA-R 2B!LA-PY M: ,@# @;(3<.6@ #H R2JR$X&8.2&R +$ZZ(!)83RE A.!.74YU3E4 $JL MA.!G"B\LA.!.NA_,6$]*K(3<9PHO+(3<3KH?L%A/2FR$2F<42&R$>$ZZ!T!8 M3TALA%!.N@3X6$]"K(3@0JR$W$)LA$I.74YU3E7_^B\*0J="ITZZ'GY03P@ M QG#DAX__](;(063KH*CE!/2JR$X&=L(&R$X"\H %9.NAWN6$\D0$J 9SXK M:@ 4__P[:@ 8__HO"DZZ'BQ83PRM " /_\9AX,;0 ;__IG" QM /_^F8. M2'C__TALA!9.N@HX4$]@KDJM AG#B!LA. O* !63KH>$%A/2JT "&:4)%]. M74YU3E4 "\*)&T "$AX ]"IT*G2'@ 4AJ "Q.NAZ*3^\ %$AX I(> % M0J=(> "2&H +$ZZ'G!/[P 42'@ "4AX =(> !2'@ TAJ "Q.NAY43^\ M%$AX 5(> (2'@ DAX 1(:@ L3KH>.$_O !1(> $2'@ "DAX =(> % M2&H +$ZZ'AQ/[P 42'@ !TAX Q(> +2'@ !DAJ "Q.NAX 3^\ %$AX ]( M> /2'@ #TAX =(:@ L3KH=Y$_O !0D7TY=3G5.5?_X2.<, # LA$Q(P('\ M H[0/_^> !@ "$,"R$3$C ,BW__DC!D($R!$C!3KH:.!(&R$ M$#& & !21+ALA!1M /]X2'@ 4ALA'A.NASX4$]X & /H[? !__XZ+(04 M4T5@ #B, 5(P#(L@ A(P>.@,@1(P="!XX @;(0$.W ( /_\,"W__$C +P!. MN@'66$]*;( &9PI*;?_\; 1";?_\, 1(P.. (&R$"#(%2,'C@2)LA! T, @ MU'$8 #M"__HP!4C XX @;(0,,C ( $C!,"W__$C XH"2@#M!__AP # M__HR M+(1,2,&P@614< P+?_X,BR$3DC!L(%D1$IM__YG'G ,"W_^"\ < P+?_Z M+P!(;(1X3KH<%D_O Q@'' ,"W_^"\ < P+?_Z+P!(;(1X3KH;I$_O Q" M;?_^4T5*16P _QQ21+ALA!1M /\".BR$%%-%8 ^#M\ '__G@ 8 XC % M2, R+( (2,'CH#($2,'0@>. (&R$!#MP" #__# M__Q(P"\ 3KH T%A/2FR M!F<*2FW__&P$0FW__# $2,#C@"!LA @R!4C!XX$B;(00-# ( -1Q& [0O_Z M, 5(P.. (&R$##(P" !(P3 M__Q(P.* DH [0?_X< P+?_Z,BR$3$C!L(%D M5' ,"W_^#(LA$Y(P;"!9$1*;?_^9QYP # M__@O ' ,"W_^B\ 2&R$>$ZZ M&Q!/[P ,8!QP # M__@O ' ,"W_^B\ 2&R$>$ZZ&IY/[P ,0FW__E)$N&R$ M%&T _QI314I%; #_!DS? #!.74YU3E7__DJM AM#B M CJ@%B .T#__F , M("T ".J 6( [0/_^#&T ?_^; 8[? !__X,;0 '__YO!CM\ ?__C M__Y( MP"\ 2&R$>$ZZ&I)03TY=3G5.50 2'D 0 #+RT &"\M !0O+0 0+RT #$ZY M -(D_O !1*@& F2E"+8"1*DV<:(%.Q[?_\9Q(K4__\+P4O$TZY EWE!/0I-" MDU)$6(LP!$C <@ 2*@ %L(%ESDS?##!.74YU3E4 $CG## D;0 (( IF"G M3-\,,$Y=3G5*N0 %YF!DZY /?C M !9(P"\ ,"T $DC +P 0+0 /2(!( MP"\ +PI.N0 )JQ/[P 0.BH LK2> F2E"+8!8O+0 8+P5.N0 )9Y03R: M9Q)21%B+, 1(P'( $BH !;"!9=PP!$C <@ 2*@ %L(%G'E-$2D1M$EF++P4O M$TZY EWE!/0I-@Z' 8 #_:' !8 #_8DY5__Q(YP P)&T "$JY 8F8& M3KD !"D+PI.N0 )KY83TIM !9G5DAY $ 4AX !A.N0 )9Y03R5 !!* MJ@ 09P UDAY $ 3 M !;!_ %+P!.N0 )9Y03R9 ( MG "V,"T %DC M+P O"R\J !!.N0 )II/[P ,2JT $&=J#*W_____ !!F$B!M PB;0 ,,"@ M L#1*T $$AY $ 4AX A.N0 )9Y03R5 Q*J@ ,9UY(>0 ! $O+0 0 M3KD "6>4$\K0/_\2JW__&="+RT $"\M__PO*@ ,3KD ";*3^\ #"5M P M!$AX $O"DZY F[E!/2'@ 2\*3KD ";^4$]P 4S?# !.74YU+PI.N0 M#OY83W 8.I.50 2.< ,"1M @@"F=H3KD "4$](> 8+PM.N0 )=Y03T*J ! F:@ ,( MG($J3 M9PXO*P $+Q-.N0 )=Y03TAX @O"TZY EWE!/0JH #$*J 1,WPP 3EU. M=4Y5 !"ITAZ !1.N0 )C903R/ 7DY=3G5G0!G65R M@ ,$@ M9@9Z 5** M8 @,$@ K9@)2BG@ 8" @2E**$!!(@$C <@HO " $3KH0]"(?TH H 9B\ M,! 22(!(P$'L@3,(, "" !FSDJ%9P8@!$2 8 (@!$S?!#!.74YU3E4 "\* M)&T "$H29R0@2E**$!!(@$C +P!.N@H2L+S_____6$]F"'#_)%].74YU8-A( M> *3KH)]EA/8.QA<$/L@W9%[(-VM @ @N 0!*6<02_H "$ZN_^)@!D*G\U].0!)^0 ?_Y.=4Y5 M O"DAY $ # L@VS!_ &+P!.NA&J*4"$]%!/9A1"ITAY $ $ZZ$'10 M3RYLA.A.=2!LA/1": $(&R$]#%\ $ $"!LA/0Q? ! H@;(3H("R$Z)"H M 10@"E A/@@;(3X(+Q-04Y80J=.NA%X)$!*J@"L6$]G,"\M PO+0 (+PI. MN@"R*7P !A.0@;(3T &B $(&R$] !H@ "D_O Q@0DAJ %Q.NA'H M2&H 7$ZZ$68I0(3\(&R$_$JH "103V<0(&R$_")H "0O$4ZZ#UY83R\LA/PO M"DZZ G@I;(3\A0!03TZZ#UX@;(3T((!.N@]^(&R$]"% 9G%DAX ^U(>@ L M3KH/6B!LA/0A0 ,4$\O+(4 +RR%!$ZZ[N1"ITZZ#5!/[P ,)%].74YU*@!. M50 2.<,,"1M ! @;0 (2J@ K&<8(&T "" H *SE@"@ ($0@* 0Y8 F0& $ M)FR#;A 32(!(P-"M Q4@"E A0A"IR\LA0A.NA \*4"%#%!/9@A,WPPP3EU. M=1 32(!(P"H +P4@2U*(+P@O+(4,3KH!CB!LA0S1Q4/Z 5@0V6;\+RT #"\* M+RR%#$ZZ 4X@;(4,0C!8 "E\ 84$(&R%#-'%)DA2BR1+3^\ &! 32(!( MP"H L+P @9R"ZO EG&+J\ #&<0NKP -9PBZO IF!%*+ M8,P,$P @;0 C P3 ")F,E*+($M2BQ 02(!(P"H 9R @2E**$(6ZO ")F M$ P3 ")F!%*+8 9"*O__8 )@TF!$($M2BQ 02(!(P"H 9S"ZO "!G*+J\ M "6<@NKP ,9QBZO UG$+J\ "F<(($I2BA"%8,(@2E**0A!* MA68"4XM2K(4$8 #_/$(20J<@+(4$4H#E@"\ 3KH/ "E A0!03V8(0JR%!& M_KYZ "9LA0Q@'B %Y8 @;(4 (8L( "!+( A*&&;\D@!M($0O* V3KH/LB9 2H!03V@ X3KH,D"5 M *!03R\$3KH/?EA/+RR =$ZZ#-)"K(!T6$]@@&EC;VXN;&EB0!724Y$ M3U< *@!.5?_40J=(;?_42'@ 4AZ (!.N@X:2H!/[P 09Q)(>@!]3KH DDAX M %.N@I 4$]"IT*G3KH,C"M _^([? *__!(;?_43KH-=B M__C0O 'H2 B M/ /0D!.N@2NT*W_]"M __Q(;?_43KH,.B\M_^).N@S:2JT "$_O !1G""!M M @@K?_\("W__$Y=3G5T:6UER!(%.*%+ ( "(M M P@!$ZZ \XH &;>2JT %&<&4XH4O M( I,WP003EU.=4Y5_Q1(YP@P)&T M""9M Q"K?_X*VT $/_\($M2BQ 02(!(P"@ 9P #-+B\ )68 PY"+?\B M*WP !__0K? "#_\"M\ G$/_L($M2BQ 02(!(P"@ L+P M9A!" MK?_T($M2BQ 02(!(P"@ N+P P9A0K? ##_\"!+4HL0$$B 2, H +B\ M *F8:(&W__%BM__PK4/_H($M2BQ 02(!(P"@ 8#1"K?_H8")R"B M_^A. MN@G>T(20O # K0/_H($M2BQ 02(!(P"@ 0>R!,P@P )( &;2N+P N M9F(@2U*+$!!(@$C * "PO "IF&B!M__Q8K?_\*U#_["!+4HL0$$B 2, H M & T0JW_[& B<@H@+?_L3KH)=-"$D+P P*T#_["!+4HL0$$B 2, H $'L M@3,(, "2 !FTBM\ !/_DN+P !L9A8@2U*+$!!(@$C * K? 3_ MY& 4N+P !H9@P@2U*+$!!(@$C * @!& ((K? C_X& <*WP * M_^!@$BM\ $/_@8 @K?/____;_X"\M_^1(;?\B+RW_X"\M__Q.NOVR*T#_ MW" M_^31K?_\3^\ $&!<(&W__%BM__PB4"M)_]P@"4H99OR3P%.)*TG_Y&!* M(&W__%BM__PH$$'M_R$K2/_<$(1@*)"\ 8V?B4X!GDI"\ "V< _VQ9 M@&>R58!G /]L5X!G /]P8,Q![?\BD>W_W"M(_^0@+?_DL*W_[&\&*VW_[/_D M2JW_]&=P(&W_W P0 "UG"B!M_]P,$ K9C0,K0 ##_\&8J4ZW_Z"!M_]Q2 MK?_<$!!(@$C +P!.DK"\_____UA/9@IP_TS?#!!.74YU8!@O+?_P3I*PO/__ M__]83V8$ @3I*PO/____]83V8&R#;+7( M9>HD7TY=3G5.50 2.<(("1M AX " *9@IP_TS?!!!.74YU2BH #&=2""H M @ ,9PQ(>/__+PIA5"@ 4$\0*@ -2(!(P"\ 3KH%-(B ""H 0 ,6$]G"B\J M A.N@(\6$\(*@ % QG$B\J !).N@+8+RH $DZZ B)03T*20JH !$*J A" M*@ ,( 1@CDY5__Y(YP@@)&T "$'Z_T0I2(40""H ! ,9PIP_TS?!!!.74YU M""H @ ,9S0@4I'J @H""\$+RH "! J U(@$C +P!.N@*6L(1/[P ,9Q ( MZ@ $ Q"DD*J 1P_V"\#*W_____ QF$ BJ ( #$*20JH !' 8*)*J@ ( M9@@O"DZZ *183PQJ $ $&8P&VT #___2'@ 4AM__\0*@ -2(!(P"\ 3KH" M,K"\ 4_O QFF" M Q@ /]>)*H "# J !!(P-"J @E0 $".H @ , M(%)2DA M \0@$B 2,# O /]@ /\N3E4 "\*0>R!M"1(2BH #&<8U?P M 60>R#;+7(90AP "1?3EU.=6#B0I)"J@ $0JH "" *8.I.5?_\+PHD;0 ( M2'@$ $ZZ ,(K0/_\6$]F\ $ $"!*T?P .)4@ ""1?3EU.=35\! M$ CJ $ #"5M__P "! J U(@$C +P!.N@#>2H!83V<& "H @ ,8,Q.50 M2.< ,"1LA$9@%"92("H !%" +P O"DZZ!9I03R1+( IFZ$*LA$9,WPP 3EU. M=4Y5 O"D'Z_\8I2(440J<@+0 (4( O $ZZ!2HD0$J 4$]F"' )%].74YU M)*R$1B5M @ !"E*A$8@"E" 8.9.50 +RT "&&V6$].74YU3E4 $CG #"7 MRR1LA$9@#B!M A1B+'*9Q(F2B12( IF[G#_3-\, $Y=3G4@"V<$)I)@!"E2 MA$8@*@ $4( O "\*3KH$\' 4$]@V$Y5 O"G(&("T "$ZZ N D0-7LA/1* MK0 (;1(P+(-L2, B+0 (LH!L!$J29A I? *%&'#_)%].74YU<@8@+0 ( M3KH"J"!LA/0O, @ 3KH"]$J 6$]G!' !8 )P ?E4 "\M A.N@*^2H!8 M3V8.3KH"R"E A1AP_TY=3G5P Ϥ $CG#" H+0 (3KH =G(&( 1.N@)2 M)$#5[(3T2H1M#C L@VQ(P+B ; 1*DF82*7P "A1AP_TS?!#!.74YU,"H M!,!\ -F#"E\ !848@ <3KH"&"\ 3KH"*DAX M %.N@ .3^\ $$Y=3G5>0PH 3E4 $JLA1!G!B!LA1!.D"\M A.N@ (6$]. M74YU3E7__"\$*VT "/_\2JR$]& !@"B\$3KH _%A/4H0P+(-L2,"X@&WL M,"R#;,'\ 8O "\LA/1.N@,L4$]*K(449P8@;(443I!*K(-R9PHO+(-R3KH! MD%A/2JR%'&<((&R%'""LA2!*K(!\9PHO+(!\3KH!N%A/2JR >&<*+RR >$ZZ M :A83TJL@(!G"B\L@(!.N@&86$]*K(4D9PHO+(4D3KH!B%A/+'@ ! @N 0! M*6<4+PU+^@ *3J[_XBI?8 9"I_-?3G-*K(3\9BI*K(4,9R(O+(4(+RR%#$ZZ M H@@+(4$4H#E@"\ +RR% $ZZ G9/[P 08 Y.N@)@+RR$_$ZZ MQ83R M__PN M;(3H3G4H'TY=3G5.50 2.<.("@M AR!B $3KH 1"1 U>R$]$J$;0XP+(-L M2,"X@&P$2I)F$BE\ H48 B M+PI.N@!D3^\ #"1?3EU.=2)O 0L;(3L3N[^GB O 0L;(3L3N[^MD[Z ), M[P # 0L;(3L3N[_.DCG P B;P ,+&R$[$ZN_CA,WP# 3G5.^@ "(F\ !"QL MA.Q.[O[:+&R$[$[N_WQ.^@ "(F\ !" O @L;(3L3N[_+B O 0L;(3L3N[^ ML$[Z (@;P $+&R$[$[N_HP@;P $((A8D$*H 0A2 (3G4@;P $3.\" 0 ( M(B\ $"QLA.Q.[OY$3OH BQLA.PB;P $("\ "$[N_=@B;P $+&R$[$[N_IA. M^@ "(F\ !"QLA.Q.[OZ&3OH DSO , !"QLA.Q.[O[.3OH B!O 0L;(3L M3N[^@")O 1,[P # @L;(!@3N[_"DSO P !" O PL;(!@3N[^YB!O 1, M[P ' @L;(!@3N[^>B)O 0L;(!@3N[_.DSO P !" O PL;(!@3N[^+")O M 1,[P # @L;(!@3N[_$")O 0@+P (+&R 8$[N_JHB;P $("\ ""QL@&!. M[OZ>(F\ !" O @L;(!@3N[_%B!O 1,[P / @L;(!@3N[^X"QL@&!.[O\< M3.\# $+&R =$[N_Z @;P $+&R =$[N_Z8@;P $+&R =$[N_[(@;P $+&R M9$[N_[X@;P $+&R 9$[N_[@@;P $3.\" P (+&R 9$[N_E8@;P $+&R 9$[N M_SH@;P $+&R 9$[N_S0 /L (0 R ,G@ #+8 S2 , M_@ #48 UH -A@ #;X WJ -\@ #@H XN .3 #H( Z> M .O #M( [@ .] #Q \N // #UH ]H /B@ #\ M _N 0L $90 !&D 1N@ $E( + 0 #3X WB /D@ M#[@ !"X 1<@ $>@ !(8 21 $FH !/: _( /J MW0 )H 0 & $ #__^ ! %/ $3@ M __\ ( ( ,(@ 1. /____\ M#P M 0T@ %X !#; 8@ $.4 M !F 0[P &H !#X ;@ $0, !R 1" '8 !$0 >@ M$1H !^ 1*@ (( !$Z A@ $4$ "* 11P (X !%- MD@ $5, "6 16 )HP,3(S-#4V-S@Y86)C9&5F (" @(" @(" @ M,# P,# @(" @(" @(" @(" @(" @(""00$! 0$! 0$! 0$! 0$! # P,# P, M# P,#$! 0$! 0$ )"0D)"0D! 0$! 0$! 0$! 0$! 0$! 0$! 4! 0$! 0 H* M"@H*"@(" @(" @(" @(" @(" @(" @("0$! 0" 0 M ! $! 0 ! @ M $ M M M M M M M M % #[ !( ! M)@ $P "B J@ +( "Z P@ ,H #2 V@ .( #J M \@ /H $" !"@ 1( $: $0 G@ *8 M "N M@ +X #& S@ -8 #> Y@ .X #V _@ > 08 $. !%@ /R #ZP $ /R end