home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1990 October
/
64er_Magazin_90-10_1990_Markt__Technik_de_Side_A.d64
/
0l-systeme.bas
(
.txt
)
next >
Wrap
Commodore BASIC
|
2022-10-26
|
10KB
|
526 lines
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 :