home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
87xx
/
8712a.d64
/
demo6.fraktale
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
1KB
|
70 lines
5 PRINT"[147]":INIT:OBJ 260,800
10 INPUT"[147]WIE OFT TEILEN (1-4)";TE: K=270:IFTE<1ORTE>4THEN10
15 DEF FNR(X)=(RND(1)-.5)*K/(T+1)/4
20 DIM M(2^TE,2^TE),Q(TE)
30 SP=0
40 FORI=0TOTE
50 :Q(I)=2^I
60 NEXT
65 PRINT" ICH ERZEUGE DEN BERG."
80 GOSUB2000
95 PRINT" ICH SETZE DIE PUNKTE."
99 P=0
100 S=SIN(60*(null)/180)
110 FORY=0TO2^TE
120 :FORX=0TOQ(TE)-Y
130 : KX=(X+Y/2)*K/Q(TE)-K/2
140 : KY=M(X,Y)
145 :REM IFKY<0THENKY=0
150 : KZ=Y*K/Q(TE)*S-K/3
160 : PSET P,KX,KY,KZ
165 : P=P+1
170 :NEXT
180 NEXT
190 PRINT" ICH ZIEHE DIE LINIEN."
195 P=0
196 GOSUB4000
200 FORH=2^TETO1STEP-1
210 :FORX=1TOH
220 : LSET L,P+X-1,P+X
225 : L=L+1
230 :NEXT
240 :P=P+H+1
250 NEXT:\
260 T=2^TE
270 FORX=0TOT-1
280 :FORY=1TOT-X
290 : LSET L,Y*(T+1-(Y-1)/2)+X,(Y-1)*(T+1-(Y-2)/2)+X
295 : L=L+1
300 :NEXT
310 NEXT:\
400 FORH=TTO1STEP-1
410 :FORY=HTO1STEP-1
420 : P=Y*(T+1-(Y-1)/2)+H-Y
430 : P1=(Y-1)*(T+1-(Y-2)/2)+H-Y+1
440 : LSET L,P,P1
445 : L=L+1
460 :NEXT
470 NEXT
1900 \:GOTO1900
1990 REM ***************
2000 FORT=0TOTE-1
2010 V=Q(TE-T):H=Q(TE-T-1)
2020 FORX=0TOQ(T)-1
2030 FORY=0TOQ(T)-X-1
2040 M(X*V+H,Y*V)=(M(X*V,Y*V)+M((X+1)*V,Y*V))/2+FNR(T)
2050 M(X*V,Y*V+H)=(M(X*V,Y*V)+M(X*V,(Y+1)*V))/2+FNR(T)
2090 M(X*V+H,Y*V+H)=(M((X+1)*V,Y*V)+M(X*V,(Y+1)*V))/2+FNR(T)
2100 NEXTY,X,T
2110 RETURN
2600 REM ***********
4000 REM
4010 ANFSET 0,-100,0,0,0
4020 DWSET 20,0
4030 DELSET 0,0,0
4040 VIDEO 1,0,0
4060 PERSPSET-K*1,-K/2 :REM ENTFERNUNG
4070 MODSET1,1,1 :REM PERSP
4090 DREH
4100 RETURN