5 '
10 '              FRACTALES
15 '               (C)1984
16 'auteurs MARY Patrick & ZINGRAFF Eric
17 '
18 '
20 MODE 1
30 BORDER 0
40 INK 0,0:INK 1,21
50 DIM MAT (65,65),X(1500),Y(1500)
60 CT=CT+1
70 X(1)=4:Y(1)=40:X(2)=320:Y(2)=399:X(3)=639:Y(3)=30
80 MOVE X(1),Y(1):DRAW X(2),Y(2):DRAW X(3),Y(3):DRAW X(1),Y(1):PRINT" ETAPE 1":FOR I=1 TO 1000:NEXT
90 FOR I=1 TO 3:PLOT X(I),Y(I):NEXT
100 MAT (1,1)=1:MAT (1,65)=2:MAT (65,1)=3
110 CLS
120 PT=3:N=1
130 PAS=64
140 FOR I=1 TO 65-PAS STEP PAS
150 N1=MAT(I,1)
160 PLOT X(N1),Y(N1)
170 FOR J=1 TO 66-I-PAS STEP PAS
180 PT=PT+1
190 MAT (I,J+PAS/2)=PT
200 N1=MAT (I,J):N2=MAT (I,J+PAS)
210 GOSUB 680
220 DRAW X(PT),Y(PT)
230 DRAW X(N2),Y(N2)
240 NEXT J
250 NEXT I
260 PH=PH+1:PRINT" ETAPE";PH+1
270 FOR J=1 TO 65-PAS STEP PAS
280 N1=MAT(1,J)
290 PLOT X(N1),Y(N1)
300 FOR I=1 TO 66-PAS-J STEP PAS
310 PT=PT+1
320 MAT (I+PAS/2,J)=PT
330 N1=MAT (I,J):N2=MAT (I+PAS,J)
340 GOSUB 680
350 DRAW X(PT),Y(PT): DRAW X(N2),Y(N2)
360 NEXT I
370 NEXT J
380 FOR J=PAS+1 TO 65 STEP PAS
390 N1=MAT(1,J)
400 PLOT X(N1),Y(N1)
410 FOR I=1 TO J-PAS STEP PAS
420 PT=PT+1
430 MAT (I+PAS/2,J-I-PAS/2+1)=PT
440 N1=MAT(I,J-I+1):N2=MAT(I+PAS,J-PAS-I+1)
450 GOSUB 680
460 DRAW X(PT),Y(PT):DRAW X(N2),Y(N2)
470 NEXT I
480 NEXT J
490 FOR J=PAS/2+1 TO 65-PAS/2 STEP PAS
500 N1=MAT (1,J)
510 PLOT X(N1),Y(N1)
520 FOR I=1 TO J-(PAS/2)STEP PAS/2
530 N1=MAT(I+PAS/2,J-PAS/2-I+1)
540 DRAW X(N1),Y(N1)
550 NEXT I
560 NEXT J
570 FOR I=PAS/2+1 TO 65-PAS/2 STEP PAS/2
580 N1=MAT(I,1):PLOT X(N1),Y(N1)
590 FOR J=PAS/2+1 TO 65-I+1 STEP PAS/2
600 N1=MAT(I,J) :DRAW X(N1),Y(N1)
610 N2= MAT(I-PAS/2,J):DRAW X(N2),Y(N2)
620 PLOT X(N1),Y(N1)
630 NEXT J
640 NEXT I
650 FOR I=1 TO PH*2000:NEXT I
660 IF PH=5 THEN RUN
670 IF N<>7 THEN N=N+1:PAS=PAS/2:CLS:GOTO 140
680 A=(RND-0.5)/2:X(PT)=(X(N1)+X(N2))/2+A*(Y(N1)-Y(N2))
690 Y(PT)=(Y(N1)+Y(N2))/2+A*(X(N2)-X(N1)):RETURN
700 FOR I=1 TO 65-PAS
710 P1=MAT(I,1)
720 MOVE X(P1),Y(P1)
730 FOR J=1 TO 65-PAS STEP PAS
740 N1=MAT (I,J)
750 DRAW X(N1),Y(N1)
760 NEXT J
770 NEXT I
780 FOR I=0 TO 7
790 PAPER#I,0:PEN #I,1
800 NEXT I