90 RANDOMIZE
100 ?TAB(26);"INKBLOT"
105 ?TAB(20);"CREATIVE COMPUTING"
110 ?TAB(18);"MORRISTOWN, NEW JERSEY"
115 ?:?:?
120 ! **** WORKS BY PLOTTING ELLIPSES AND THEIR MIRROR IMAGES
130 DIM A(12,13)
135 STRSIZ 36
140 ! **** CHOOSE FROM 5 TO 12 ELLIPSES
150 M=INT(8*RND(1))+5
160 ! **** CREATE SIZE, LOCTATION AND ANGLE OF M ELLIPSES
170 FOR L=1 TO M
180 A(L,1)=34*RND(1)
190 A(L,2)=80*RND(1)
200 A(L,3)=(15*RND(1)+2)^2
210 A(L,4)=(15*RND(1)+2)^2
220 T=3.141596*RND(1)
230 A(L,5)=COS(T)
240 A(L,6)=SIN(T)
250 A(L,7)=A(L,5)*A(L,6)
260 A(L,5)=A(L,5)*A(L,5)
270 A(L,6)=A(L,6)*A(L,6)
280 A(L,8)=A(L,1)*A(L,1)*A(L,6)
290 A(L,9)=A(L,1)*A(L,1)*A(L,5)
300 A(L,10)=A(L,1)*A(L,7)
310 A(L,11)=-2*A(L,1)*A(L,6)
320 A(L,12)=-2*A(L,1)*A(L,5)
330 A(L,13)=A(L,6)/A(L,4)+A(L,5)/A(L,3)
340 NEXT L
350 ! **** PRINT TOP BORDER;B$ CONTAINS 36 DOLLAR SIGNS
360 B$="$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
370 ?B$;B$
380 ?B$;B$
390 ! **** LOOP Y IS Y-COORDINATE OF PLOT; EACH TIME Y LOOP
400 ! **** IS EXECUTED, A LINE IS PRINTED
410 FOR Y=79.9 TO 0 STEP -1.6
420 A$="$$ "
430 ! **** LOOP E CHECKS THE EQUATION OF EACH ELLIPSE TO SEE
440 ! **** IF IT INTERSECTS THE LINE TO BE PRINTED
450 FOR E=1 TO M
460 Y1=Y-A(E,2)
470 Y2=Y1*Y1
480 Y3=Y1*A(E,10)
490 Y4=Y1*A(E,7)
500 B=(A(E,12)+Y4)/A(E,3)+(-Y4+A(E,11))/A(E,4)
510 C=(Y2*A(E,6)+A(E,9)-Y3)/A(E,3)+(Y2*A(E,5)+A(E,8)+Y3)/A(E,4)-1
520 ! **** R IS THE RADICAL IN THE STANDARD QUADRATIC FORMULA
530 R=B*B-4*A(E,13)*C
540 IF R<0 THEN 690
550 R=SQR(R)
560 ! ***** FIND WHERE THE LINE INTERSECTS THE ELLIPSE
570 R1=INT(-(B+R)/2/A(E,13)+1)
580 IF R1>34 THEN 690
590 R2=INT((R-B)/2/A(E,13))
600 IF R2<1 THEN 690
610 IF R2<35 THEN 630
620 R2=34
630 IF R1>0 THEN 660
640 R1=1
650 ! **** FILL IN THE LINE WHERE IT CROSSES THE ELLIPSE
660 FOR J=R1+2 TO R2+2
670 A$=LEFT$(A$,J-1)+"$"+RIGHT$(A$,LEN(A$)-J)
680 NEXT J
690 NEXT E
700 ! ***** PRINT LINE
710 ?A$;
720 FOR K=36 TO 1 STEP -1
730 ?MID$(A$,K,1);
740 NEXT K
745 ?" "
750 NEXT Y
760 ! **** PRINT BOTTOM BORDER
770 ?B$;B$
780 ?B$;B$
790 END