home *** CD-ROM | disk | FTP | other *** search
- 0 rem *********************************
- 1 rem * *
- 2 rem * 0l-systeme *
- 3 rem * *
- 4 rem * (c) 1990 kurt zimmermann *
- 5 rem * *
- 6 rem * idee+algorythmus:dietmar saupe*
- 7 rem * grafikroutinen: heimo ponnath*
- 8 rem * compilieren mit basic boss *
- 9 rem *********************************
- 10 :
- 11 rem
- 12 rem steuerbefehle fuer basic boss
- 13 rem
- 14 :
- 15 rem@ \otheron
- 20 rem@ \allram
- 30 rem@ \varstart $9fd0:\heapend $fff0
- 40 rem@ \fastfor:\shortif:\fastarray
- 50 rem@ \datatype byte
- 55 rem@ \systext "0l-systeme (c) 1990"
- 60 rem@ \constant gr,cl,co,te,li,lo,sa,x,y,sm,ma,n
- 70 rem@ \byte a(,s(,s0( =$4400,sd(,a,i,td,j,ss,fl,v,k(,c,m,b
- 80 rem@ \word im,s,s0,l,k,x0,y0,xn,yn,ii
- 90 rem@ \integer d
- 91 rem@ \ignore
- 92 print "[147][196]ieses [208]rogramm laeuft erst, nachdem es"
- 93 print "mit '[194]asic [194]oss' compiliert wurde !!!!!"
- 94 end
- 95 rem@ \use
- 96 :
- 97 rem konstanten definition
- 98 :
- 99 ma=23500
- 100 dim a(101),s(ma),s0(ma),k(16),r$(16),co(50),si(50),sx(10),sy(10)
- 105 dim sd(10)
- 110 n=7:x=320:y=200:sm=10
- 120 gr=16384:cl=16387:co=16390:te=16393:li=16396:lo=16399:sa=16402
- 130 _load "h4.turtle.com",8
- 140 :
- 200 rem einleitung
- 201 :
- 210 poke 53280,0:poke 53281,0
- 220 print chr$(14);"[147] ";
- 230 print" "
- 240 print" ";
- 250 print" "
- 260 print" "
- 270 print:print:print
- 280 print "[208]rogramm zum generieren von 0[204]-[211]ystemen"
- 290 print
- 300 print "[195]opyright (c) 1990 [203]urt [218]immermann
- 310 [153]:[153]
- 320 [153] "right$dee und atnlgorythmus: str$ietmar (NULL)aupe"
- 330 [153]
- 340 [153] "chr$rafikroutinen: left$eimo (NULL)onnath"
- 350 [153]
- 360 [153] "lenompiliert mit: peekasic peekoss"
- 370 [153]:[153]
- 380 [153] " peekitte druecken sie eine (NULL)aste"
- 390 [161] a$:[139] a$[178]"" [167] 390
- 450 :
- 500 [143] steuerprogramm
- 501 :
- 510 [151] 53280,0:[151] 53281,0
- 520 [153] [199](14);"load (NULL)rogramm zum erzeugen von 0(NULL)-(NULL)ystemen"
- 530 [153]:[153]:[153]
- 540 [153] "(a) valrzeugen von 0(NULL)-(NULL)ystemen"
- 550 [153] "(b) 0(NULL)-(NULL)ystem-peekibliothek"
- 560 [153]
- 562 [153] "(c) 0(NULL)-(NULL)arameter ansehen"
- 564 [153] "(d) 0(NULL)-(NULL)arameter aendern"
- 566 [153]
- 570 [153] "(e) 0(NULL)-(NULL)arameter laden"
- 580 [153] "(f) 0(NULL)-(NULL)arameter speichern"
- 590 [153]
- 592 [153] "(g) peekild laden"
- 594 [153] "(h) peekild speichern"
- 596 [153] "(i) peekild ansehen"
- 598 [153]
- 600 [153] "(j) str$iskbefehl senden"
- 610 [153] "(k) str$irectory"
- 650 [161] a$:[139] a$[178]"" [167] 650
- 660 b[178][198](a$)[171]64
- 670 [139] b[179]1 [176] b[177]11 [167] 650
- 680 [145] b [141] 1000,8000,12500,13000,10000,10500,11500,11000,12000,9500,9000
- 690 [137] 500
- 700 :
- 1000 [143] hauptprogramm plot-0l-system
- 1001 :
- 1010 [141] 2000:[143] eingabe
- 1020 fl[178]0
- 1023 [141] 3000:[143] generiert 'string'
- 1025 [139] fl[178]1 [167] 1060
- 1027 fl[178]0
- 1030 [141] 4000:[143] 'string' aufraeumen
- 1032 [139] fl[178]1 [167] 1060
- 1035 fl[178]0
- 1040 [141] 5000:[143] berechnet groesse
- 1045 [139] fl[178]1 [167] 1060
- 1050 [141] 6000:[143] wertet 'string' aus
- 1060 [161] a$:[139] a$[178]"" [167] 1060
- 1070 [158] te:[153] [199](14):[151] 53280,0
- 1075 fa[178]s[172]10000
- 1076 fa[178][181](fa[173]ma)[173]100
- 1077 [153] "(NULL)peicherauslastung:";fa;"%"
- 1079 [153]
- 1080 [153] "(NULL)ekursionstiefe aendern?"
- 1090 [161] a$:[139] a$[178]"" [167] 1090
- 1100 [139] a$[178]"n" [167] [142]
- 1105 [139] a$[179][177]"j" [167] 1090
- 1110 [141] 2280
- 1120 [137] 1020
- 1130 :
- 2000 [143] eingabe der parameter
- 2001 :
- 2010 [153] [199](14);"loadvalingabe der (NULL)arameter:"
- 2020 [153]:[153]:[153]
- 2030 [133] "atnnzahl der (NULL)ariablen:";v
- 2040 [139] v[177]9 [167] 2030
- 2045 m[178]n[170]v
- 2047 [140]
- 2050 [129] i[178]1 [164] n
- 2060 :[135] k(i)
- 2070 [130] i
- 2080 [139] v[178]0 [167] 2120
- 2090 :[129] i[178]1 [164] v
- 2100 ::k(i[170]n)[178]70[170]i
- 2110 :[130] i
- 2120 [153]:[153] "atnxiom:"
- 2130 [133] a$
- 2140 a[178][195](a$)
- 2150 [129] i[178]1 [164] a
- 2160 :a(i)[178][198]([202](a$,i,1))
- 2170 [130] i
- 2180 [153]
- 2190 [133] "atnnzahl der (NULL)ichtungen:";td
- 2200 [139] td[177]50 [167] 2190
- 2210 [153] "load(NULL)roduktionsgesetze eingeben:"
- 2220 [153]:[153]
- 2230 [129] i[178]1 [164] m
- 2240 :[153] [199](k(i));":"
- 2250 :[133] " ";r$(i)
- 2260 :[139] r$(i)[178]"" [167] r$(i)[178][199](k(i))
- 2270 [130] i
- 2280 [133] "load(NULL)ekursionstiefe:";im
- 2290 [142]
- 2300 [131] 70,198,43,45,95,91,93
- 2310 :
- 3000 [143] generiert 'string'
- 3001 :
- 3005 [151] 53280,2
- 3010 [129] i[178]1 [164] a
- 3020 :s0(i)[178]a(i)
- 3030 [130] i
- 3040 s0[178]a
- 3060 [129] l[178]1 [164] im
- 3065 :s[178]0
- 3070 :[129] k[178]1 [164] s0
- 3080 ::c[178]s0(k)
- 3090 ::i[178]1
- 3100 :::[139] i[177]m [176] c[178]k(i) [167] 3130
- 3110 :::i[178]i[170]1
- 3120 ::[137] 3100
- 3130 ::[139] c[179][177]k(i) [167] 3170
- 3140 ::[129] j[178]1 [164] [195](r$(i))
- 3150 :::s(s[170]1)[178][198]([202](r$(i),j,1))
- 3155 :::s[178]s[170]1
- 3157 :::[139] s[177]ma [167] 3240
- 3160 ::[130] j
- 3170 :[130] k
- 3180 :[129] k[178]1 [164] s
- 3190 ::s0(k)[178]s(k)
- 3200 :[130] k
- 3210 :s0[178]s
- 3220 [130] l
- 3230 [142]
- 3240 fl[178]1
- 3242 [153]
- 3245 [153] "(NULL)peicherueberlauf bei";l;"ter right$teration"
- 3250 [142]
- 3260 :
- 4000 [143] raeumt 'string' auf
- 4001 :
- 4005 [151] 53280,6
- 4010 s0[178]0
- 4020 [129] l[178]1 [164] s
- 4030 :c[178]s(l)
- 4040 :i[178]1
- 4050 ::[139] c[179][177]k(i) [167] 4090
- 4060 :::s0[178]s0[170]1
- 4070 :::s0(s0)[178]s(l)
- 4080 ::[137] 4110
- 4090 ::i[178]i[170]1
- 4100 :[139] i[179]m[170]1 [167] 4050
- 4110 [130] l
- 4120 [129] l[178]1 [164] s0
- 4130 :s(l)[178]s0(l)
- 4140 [130] l
- 4150 s[178]s0
- 4155 [139] s[178]0 [167] 4170
- 4160 [142]
- 4170 fl[178]1
- 4180 [153]
- 4190 [153] "(NULL)och nichts zu zeichnen. (NULL)ekursionstiefeerhoehen !"
- 4200 [142]
- 4210 :
- 5000 [143] bestimmt groesse
- 5001 :
- 5005 [151] 53280,5
- 5010 [129] i[178]0 [164] td[171]1
- 5020 :co(i)[178][190](2[172][255][172]i[173]td)
- 5030 :si(i)[178][191](2[172][255][172]i[173]td)
- 5040 [130] i
- 5050 d[178]0
- 5060 tx[178]0:ty[178]0
- 5070 xr[178]0:xl[178]0:yo[178]0:yu[178]0
- 5080 [129] l[178]1 [164] s
- 5090 :c[178]s(l)
- 5100 :[141] 7000
- 5110 :[139] c[179][177]70 [175] c[179][177]198 [167] 5200
- 5120 ::[139] tx[179]xr [167] 5140
- 5130 ::xr[178]tx
- 5140 ::[139] tx[177]xl [167] 5160
- 5150 ::xl[178]tx
- 5160 ::[139] ty[179]yo [167] 5180
- 5170 ::yo[178]ty
- 5180 ::[139] ty[177]yu [167] 5200
- 5190 ::yu[178]ty
- 5200 [130] l
- 5205 [139] xr[178]xl [176] yo[178]yu [167] 5220
- 5210 [142]
- 5220 fl[178]1
- 5230 [153]
- 5240 [153] "(NULL)eine (NULL)eichenbefehle vorhanden."
- 5250 [153] "(NULL)roduktionsgesetze ueberpruefen !"
- 5260 [142]
- 5270 :
- 6000 [143] wertet 'string' aus
- 6001 :
- 6005 [158] cl:[158] co,0,5:[158] gr
- 6010 tx[178](x[171]1)[173](xr[171]xl)
- 6020 ty[178](y[171]1)[173](yo[171]yu)
- 6030 [139] tx[177]ty [167] 6060
- 6040 :fa[178]tx
- 6050 :[137] 6070
- 6060 fa[178]ty
- 6070 d[178]0
- 6080 tx[178]0:ty[178]0
- 6096 x0[178][181]([182](fa[172]xl))
- 6098 y0[178]199[171][181]([182](fa[172]yu))
- 6100 [129] l[178]1 [164] s
- 6110 :c[178]s(l)
- 6120 :[141] 7000
- 6130 :xn[178][181](fa[172](tx[171]xl))
- 6140 :yn[178]199[171][181](fa[172](ty[171]yu))
- 6150 :[139] c[179][177]70 [167] 6180
- 6160 ::[158] li,x0,y0,xn,yn,1
- 6170 ::
- 6180 ::
- 6190 ::x0[178]xn:y0[178]yn
- 6200 [130] l
- 6210 [142]
- 6220 :
- 7000 [143] erneuert turtle
- 7001 :
- 7010 [139] c[179][177]70 [175] c[179][177]198 [167] 7050
- 7020 :tx[178]tx[170]co(d)
- 7030 :ty[178]ty[170]si(d)
- 7040 :[137] 7400
- 7050 [139] c[179][177]43 [167] 7090
- 7060 :d[178]d[171]1
- 7070 :[139] d[179]0 [167] d[178]td[171]1
- 7080 :[137] 7400
- 7090 [139] c[179][177]45 [167] 7130
- 7100 :d[178]d[170]1
- 7110 :[139] d[178]td [167] d[178]0
- 7120 :[137] 7400
- 7130 [139] c[179][177]95 [167] 7170
- 7140 :d[178]d[170]td[173]2
- 7150 :[139] d[177]td [167] d[178]d[171]td
- 7160 :[137] 7400
- 7170 [139] c[179][177]91 [167] 7240
- 7180 :[139] ss[178]sm [167] 7410
- 7190 :sx(ss)[178]tx
- 7200 :sy(ss)[178]ty
- 7210 :sd(ss)[178]d
- 7220 :ss[178]ss[170]1
- 7230 :[137] 7400
- 7240 [139] c[179][177]93 [167] 7310
- 7250 :[139] ss[178]0 [167] 7440
- 7260 :ss[178]ss[171]1
- 7270 :tx[178]sx(ss)
- 7280 :ty[178]sy(ss)
- 7290 :d[178]sd(ss)
- 7300 :[137] 7400
- 7310 [143]
- 7400 [142]
- 7410 [153] "(NULL)tackueberlauf"
- 7420 fl[178]1
- 7430 [137] 7400
- 7440 [153] "(NULL)tack leer"
- 7450 fl[178]1
- 7460 [137] 7400
- 7470 :
- 8000 [143] fertige systeme
- 8001 :
- 8005 [153] "load0(NULL)-(NULL)ystem-peekibliothek:"
- 8010 [153]:[153]
- 8020 [153] "peekitte waehlen sie"
- 8030 [153]
- 8040 [153] " (a) (NULL)och (NULL)chneeflockenkurve"
- 8050 [153] " (b) (NULL)uadratische (NULL)och right$nsel"
- 8060 [153] " (c) asclaechenfuellende left$ilbert (NULL)urve"
- 8070 [153] " (d) asclaechenfuellende (NULL)eano (NULL)urve"
- 8080 [153] " (e) (NULL)lassisches (NULL)ierpinsky str$reieck"
- 8090 [153] " (f) (NULL)uadratische (NULL)ierpinsky (NULL)urve"
- 8100 [153] " (g) str$rachen (NULL)urve"
- 8110 [153] " (h) peekusch 1"
- 8120 [153] " (i) peekusch 2"
- 8130 [153] " (j) peekusch 3"
- 8140 [153] " (k) peekusch 4"
- 8200 [153]
- 8210 [161] a$:[139] a$[178]"" [167] 8210
- 8215 fl[178][198](a$)[171]64
- 8220 [139] fl[179]1 [176] fl[177]11 [167] 8210
- 8225 [140] 8510
- 8230 [129] j[178]1 [164] fl
- 8240 :[135] v:m[178]n[170]v
- 8250 :[135] td
- 8260 :[135] a$
- 8270 :a[178][195](a$)
- 8280 :[129] i[178]1 [164] a
- 8290 ::a(i)[178][198]([202](a$,i,1))
- 8300 :[130] i
- 8310 :[135] r$(1),r$(2)
- 8320 :r$(3)[178]"+":r$(4)[178]"-":r$(5)[178]"_":r$(6)[178]"[":r$(7)[178]"]"
- 8330 :[139] v[178]0 [167] 8365
- 8340 :[129] i[178]1 [164] v
- 8350 ::[135] r$(7[170]i)
- 8360 :[130] i
- 8365 [130] j
- 8370 [140]
- 8380 [129] i[178]1 [164] n
- 8390 :[135] k(i)
- 8400 [130] i
- 8410 [139] v[178]0 [167] 8460
- 8420 :[129] i[178]1 [164] v
- 8430 ::k(i[170]n)[178]70[170]i
- 8440 :[130] i
- 8460 [137] 1110
- 8500 [143]@ \datatype string
- 8510 [131] 0,6,"f","f-f++f-f","asc"
- 8520 [131] 0,4,"f+f+f+f","f+f-f-ff+f+f-f","asc"
- 8530 [131] 2,4,"g","f","asc","-hf+gfg+fh-","+gf-hfh-fg+"
- 8540 [131] 2,4,"g","f","asc","gfhfg+f+hfgfh-f-gfhfg","hfgfh-f-gfhfg+f+hfgfh"
- 8550 [131] 1,6,"fgf--ff--ff","ff","asc","--fgf++fgf++fgf--"
- 8560 [131] 0,4,"f+f+f+f","ff+f+f+f+ff","asc"
- 8570 [131] 2,4,"g","f","asc","g+hf+","-fg-h"
- 8580 [131] 0,14,"f","f[+f]f[-f]f","asc"
- 8590 [131] 2,14,"g","f","asc","gfh[+g][-g]","h[-fff][+fff]fh"
- 8600 [131] 0,16,"f","ff+[+f-f-f]-[-f+f+f]","asc"
- 8610 [131] 5,20,"ijfff","f","asc","+h[-g]j","-g[+h]j","[+++g][---g]ki"
- 8615 [131] "[-fff][+fff]f","kj"
- 8620 :
- 9000 [143] directory zeigen
- 9001 :
- 9010 a$[178]"i0":fl[178]1:[141] 9610
- 9020 [153] "load 0 ";:[159] 1,8,0,"$"
- 9030 [151] 781,1:[158] 65478
- 9040 [161] a$,a$,a$,a$:x$[178][199](0)
- 9050 [129] i[178]1 [164] 7
- 9060 :[161] a$,b$,c$,d$
- 9070 :[153] a$b$c$d$;
- 9080 [130] i
- 9090 [153]:[161] a$,a$,a$,b$
- 9100 [139] st [167] [158] 65484:[160] 1: [137] 9120
- 9110 [153] [198](a$[170]x$)[170]256[172][198](b$[170]x$);: [137] 9050
- 9120 [161] a$:[139] a$[178]"" [167] 9120
- 9130 [142]
- 9140 :
- 9500 [143] diskbefehl senden
- 9501 :
- 9510 fl[178]0
- 9520 [153] "loadstr$iskbefehl senden:"
- 9530 [153]:[153]
- 9540 [153] "peekefehl:";
- 9550 [158] 42336:a$[178]"":ii[178]512
- 9560 b[178][194](ii)
- 9570 [139] b[178]0 [167] 9610
- 9580 a$[178]a$[170][199](b)
- 9590 ii[178]ii[170]1
- 9600 [137] 9560
- 9610 [159] 15,8,15,a$
- 9620 [153]:[153]
- 9630 [132]15,b,a$
- 9640 [160] 15
- 9650 [139] fl[178]1 [167] 9680
- 9660 [153] b;a$
- 9670 [161] a$:[139] a$[178]"" [167] 9670
- 9680 [142]
- 9690 :
- 10000 [143] system laden
- 10001 :
- 10005 [153] "load0(NULL)-(NULL)ystem laden:"
- 10010 [153]:[153]
- 10015 a$[178]"i0":fl[178]1:[141] 9610
- 10020 [133] "ascilename:";a$
- 10025 [139] a$[178]"$" [167] 10200
- 10030 [159] 1,8,2,a$[170]",s,r"
- 10040 [132]1,v:m[178]n[170]v
- 10050 [132]1,td
- 10070 [132]1,a
- 10080 [129] i[178]1 [164] a
- 10090 :[132]1,a(i)
- 10100 [130] i
- 10110 [132]1,r$(1)
- 10120 [132]1,r$(2)
- 10130 r$(3)[178]"+":r$(4)[178]"-":r$(5)[178]"_":r$(6)[178]"[":r$(7)[178]"]"
- 10140 [139] v[178]0 [167] 10180
- 10150 [129] i[178]1 [164] v
- 10160 :[132]1,r$(n[170]i)
- 10170 [130] i
- 10180 [160] 1
- 10190 [137] 1110
- 10200 [141] 9000
- 10210 [137] 10000
- 10220 :
- 10500 [143] system speichern
- 10510 :
- 10520 [153] "load0(NULL)-(NULL)ystem speichern:"
- 10530 [153]:[153]
- 10535 a$[178]"i0":fl[178]1:[141] 9610
- 10540 [133] "ascilename:";a$
- 10545 [139] a$[178]"$" [167] 10710
- 10550 [159] 1,8,2,a$[170]",s,w"
- 10560 [152]1,v
- 10570 [152]1,td
- 10580 [152]1,a
- 10590 [129] i[178]1 [164] a
- 10600 :[152]1,a(i)
- 10610 [130] i
- 10630 [152]1,r$(1)
- 10640 [152]1,r$(2)
- 10650 [139] v[178]0 [167] 10690
- 10660 [129] i[178]1 [164] v
- 10670 :[152]1,r$(n[170]i)
- 10680 [130] i
- 10690 [160] 1
- 10700 [142]
- 10710 [141] 9000
- 10720 [137] 10500
- 10730 :
- 11000 [143] bild speichern
- 11001 :
- 11010 [153] "loadpeekild wird abgespeichert:"
- 11020 [153]:[153]
- 11030 a$[178]"i0":fl[178]1:[141] 9610
- 11040 [133] "ascilename:";a$
- 11050 [139] a$[178]"$" [167] 11160
- 11120 [158] sa,a$
- 11150 [142]
- 11160 [141] 9000
- 11170 [137] 11000
- 11180 :
- 11500 [143] bild laden
- 11501 :
- 11510 [153] "loadpeekild wird geladen:"
- 11520 [153]:[153]
- 11530 a$[178]"i0":fl[178]1:[141] 9610
- 11540 [133] "ascilename:";a$
- 11550 [139] a$[178]"$" [167]11610
- 11590 [158] lo,a$
- 11600 [142]
- 11610 [141] 9000
- 11620 [137] 11500
- 11630 :
- 12000 [143] bild ansehen
- 12001 :
- 12010 [158] co,0,5:[151] 53280,5:[158] gr
- 12020 [161] a$:[139] a$[178]"" [167] 12020
- 12030 [151] 53280,0:[158] te
- 12040 [142]
- 12050 :
- 12500 [143] parameter ansehen
- 12501 :
- 12510 [153] "load(NULL)arameter:"
- 12520 [153]:[153]
- 12530 [153] "atnnzahl der (NULL)ichtungen:";td
- 12540 [153]
- 12550 [153] "atnxiom:";
- 12560 [129] i[178]1 [164] a
- 12570 :[153] [199](a(i));
- 12580 [130] i
- 12590 [153]:[153]
- 12600 [129] i[178]1 [164] m
- 12610 :[153] [199](k(i));" -> ";r$(i)
- 12620 [130] i
- 12630 [161] a$:[139] a$[178]"" [167] 12630
- 12640 [142]
- 12650 :
- 13000 [143] parameter aendern
- 13001 :
- 13010 [153] "load(NULL)arameter aendern:"
- 13020 [153]:[153]
- 13030 [153] "atnnzahl der (NULL)ichtungen: ";td
- 13040 [133] "on";td
- 13050 [153]
- 13060 [153] "atnxiom: ";
- 13070 [129] i[178]1 [164] a
- 13080 :[153] [199](a(i));
- 13090 [130] i
- 13100 [153]
- 13110 [133] "on";a$
- 13120 a[178][195](a$)
- 13130 [129] i[178]1 [164] a
- 13140 :a(i)[178][198]([202](a$,i,1))
- 13150 [130] i
- 13160 [153]
- 13170 [129] i[178]1 [164] m
- 13180 :[153] [199](k(i));" -> ";r$(i)
- 13190 :[133] "on";r$(i)
- 13200 [130] i
- 13210 [137] 1110
- 13220 :
-