10 ! KOCK2.BAC
15 !
20 ! KOKSKOL2.BAC
30 ! Fraktal program av Magnus <8042> 1991
40 ! Programet {r gjort f|r en ABC806
50 !
60 ! "GRED" f|r att kunna k|ras med monokrom sk{rm <7759>
70 !
80 !
90 INTEGER : EXTEND
100 ON ERROR GOTO 600
110 FGCTL BLK+GRED+BLU : FGPOINT 0,0,0 : FGFILL 511,239
120 ; CHR$(12)
130 Q=3000
140 DIM X(Q),Y(Q),Nx(Q),Ny(Q)
150 X(1)=190 : X(2)=100 : Y(1)=80 : Y(2)=80 : Ap=5 : As=1
160 X(3)=100 : X(4)=190 : Y(3)=170 : Y(4)=170 : X(5)=190 : Y(5)=80
170 FGPOINT X(1),Y(1),1 : FGLINE X(2),Y(2)
180 FOR Q=1 TO Ap-1
190 Q1=Q*5-5+1
200 Nx(Q1)=X(Q) : Ny(Q1)=Y(Q)
210 Nx(Q1+5)=X(Q+1) : Ny(Q1+5)=Y(Q+1)
220 IF X(Q)X(Q+1) THEN GOSUB 410
240 IF Y(Q)Y(Q+1) THEN GOSUB 530
260 NEXT Q
270 Nap=(Ap-1)*5+1
280 FGPOINT 0,0,0 : FGFILL 511,239 : FGPOINT X(1)*1.8,Y(1),1
290 FOR Q=1 TO Nap
300 X(Q)=Nx(Q) : Y(Q)=Ny(Q)
310 FGLINE X(Q)*1.8,Y(Q)
320 NEXT Q
330 FGPAINT 200,100,2
340 Ap=Nap : GOTO 180
350 S=X(Q+1)-X(Q) : GOSUB 590
360 Nx(Q1+1)=Nx(Q1)+Ns1 : Ny(Q1+1)=Ny(Q1)
370 Nx(Q1+2)=Nx(Q1+1) : Ny(Q1+2)=Ny(Q1+1)+Ns
380 Nx(Q1+3)=Nx(Q1+2)+Ns : Ny(Q1+3)=Ny(Q1+2)
390 Nx(Q1+4)=Nx(Q1+3) : Ny(Q1+4)=Ny(Q1)
400 RETURN
410 S=X(Q)-X(Q+1) : GOSUB 590
420 Nx(Q1+1)=Nx(Q1)-Ns1 : Ny(Q1+1)=Ny(Q1)
430 Nx(Q1+2)=Nx(Q1+1) : Ny(Q1+2)=Ny(Q1+1)-Ns
440 Nx(Q1+3)=Nx(Q1+2)-Ns : Ny(Q1+3)=Ny(Q1+2)
450 Nx(Q1+4)=Nx(Q1+3) : Ny(Q1+4)=Ny(Q1)
460 RETURN
470 S=Y(Q+1)-Y(Q) : GOSUB 590
480 Nx(Q1+1)=Nx(Q1) : Ny(Q1+1)=Ny(Q1)+Ns1
490 Nx(Q1+2)=Nx(Q1+1)-Ns : Ny(Q1+2)=Ny(Q1+1)
500 Nx(Q1+3)=Nx(Q1+2) : Ny(Q1+3)=Ny(Q1+2)+Ns
510 Nx(Q1+4)=Nx(Q1) : Ny(Q1+4)=Ny(Q1+3)
520 RETURN
530 S=Y(Q)-Y(Q+1) : GOSUB 590
540 Nx(Q1+1)=Nx(Q1) : Ny(Q1+1)=Ny(Q1)-Ns1
550 Nx(Q1+2)=Nx(Q1+1)+Ns : Ny(Q1+2)=Ny(Q1+1)
560 Nx(Q1+3)=Nx(Q1+2) : Ny(Q1+3)=Ny(Q1+2)-Ns
570 Nx(Q1+4)=Nx(Q1) : Ny(Q1+4)=Ny(Q1+3)
580 RETURN
590 Ns=S*.3 : Ns1=S*.35 : RETURN
600 END