10 REM SPRING THING BY CLARK BAKER 2/72 C.O.G. 12 U$=CHR$(155%)+"H":L$=CHR$(155%)+"K":F$=CHR$(155%)+"J" 15 DIM R%(70%),L(72%),R(72%),T%(69%) 20 PRINT U$;F$;SPACE$(25%);"SPRING THING" 30 INPUT "CRT";I$:IF I$="YES" THEN C9%=-1% 40 INPUT "TWO SPRINGS";I$:IF I$="NO" THEN T9%=-1% 50 PRINT "WAVE FROM LEFT"; 60 MAT INPUT T% 70 L(X%)=T%(X%-T%(1)+2%) FOR X%=T%(1) TO 70% 75 MAT T%=ZER(69%) 80 PRINT "WAVE FROM RIGHT"; 90 MAT INPUT T% 100 R(X%)=T%(X%-T%(1)+2%) FOR X%=T%(1) TO 70% 110 INPUT "LEFT WALL";I$:IF I$="YES" THEN L9%=-1% 120 INPUT "RIGHT WALL";I$:IF I$="YES" THEN R9%=-1% 130 INPUT "THE FACTOR";F:IF F<0% OR F>1 THEN 130 140 INPUT "ZIP FACTOR";Z% 150 T%=0% 160 IF T%/Z%*Z%=T% THEN 500 170 L(X%)=L(X%-1)*F FOR X%=71% TO 1 STEP -1% 180 R(X%)=R(X%+1)*F FOR X%=0% TO 70% 190 IF L9% THEN L(1)=R(0%)*-1% 200 IF R9% THEN R(70%)=L(71%)*-1% 210 IF T9% THEN 480 220 T1=(R(23%)+R(24%))/4 230 T2=(L(23%)+L(24%))/4 240 L(X%)=L(X%-1) FOR X%=71% TO 25% STEP -1% 250 R(X%)=R(X%+1) FOR X%=24% TO 70% 260 IF R9% THEN R(70%)=L(71%)*-1% 270 R(23%)=T1+T2 280 L(24%),L(25%)=T2-T1 480 T%=T%+1 490 GO TO 160 500 R%(X%)=R(X%)+L(X%)+.5 FOR X%=1 TO 70% 510 IF C9% THEN 700 520 PRINT "TIME =";T% 530 FOR Y%=10% TO -10% STEP -1% 540 FOR X%=1 TO 70% 550 IF R%(X%)=Y% THEN PRINT TAB(X%);:IF T9% OR X%<24% THEN PRINT "*"; ELSE PRINT "."; 560 NEXT X% 570 PRINT 580 NEXT Y% 590 PRINT 600 GO TO 170 700 PRINT U$:PRINT "TIME =";T%;L$ 710 PRINT L$;CHR$(10%); FOR X%=1 TO 11% 720 PRINT F$; 725 P%=0% 730 FOR X%=1 TO 70% 732 IF POS(0%)>60% THEN PRINT CHR$(14%); 735 IF T9% THEN C$="*" ELSE IF X%<24% THEN C$="*" ELSE C$="." 740 IF R%(X%)=P% THEN PRINT C$;:GO TO 850 750 IF R%(X%)>P% THEN P%=P%+1%:PRINT CHR$(155%);"A";:GO TO 740 760 P%=P%-1 761 PRINT CHR$(10%); 762 GO TO 740 850 NEXT X% 860 GO TO 170 999 END