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