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