10 CLS:WIDTH20,8:MEMSET:DEFINTA-Z:OPTIONBASE0:DIMA(6,6),B(2,13) 20 INPUT"LEVEL";M:GOSUB560:GOSUB580 30 LOCATE0,0:PRINTCHR$(150)+STRING$(9,32); 40 LOCATE1,0:INPUTI:I=I+7 50 IFI<8ORI>13THENGOSUB550:GOTO30 60 IFB(0,I)=0THENGOSUB550:GOTO30 70 M=0:N=0:O=I:GOSUB640 80 F=0:IFL=7THEN110 90 IFL=0THENF=1:GOTO110 100 IFB(0,L)=1ANDB(0,14-L)>0THENGOSUB680 110 GOSUB580:GOSUB860 120 IFE=1THEN510 130 IFF=1THEN30ELSE140 140 GOSUB730 150 LOCATE0,0:PRINTCHR$(153)+"!"+STRING$(8,32); 160 FORI=1TO6 170 M=1:N=7:O=I:GOSUB710 180 IFB(1,I)=0THENGOSUB760:GOTO240 190 GOSUB640 200 IFL=7THEN430 210 IFL=0THEN350 220 IFB(1,L)=1ANDB(1,14-L)>0THENGOSUB680 230 GOTO350 240 NEXTI 250 GOSUB770:I=A(6,0) 260 LOCATE3,0:PRINTI; 270 M=0:N=7:O=I:GOSUB640 280 F=0:IFL=0THENGOTO310 290 IFL=7THENF=1:GOTO310 300 IFB(0,L)=1ANDB(0,14-L)>0THENGOSUB680 310 GOSUB580:GOSUB860 320 GOSUB550:A$=INPUT$(1) 330 IFE=1THEN510 340 IFF=1THEN140ELSE30 350 FORI0=8TO13 360 M=2:N=0:O=I0:GOSUB710 370 IFB(2,I0)=0THENA(I,I0-7)=0:GOTO420 380 GOSUB640 390 IFL MOD7=0THENGOTO410 400 IFB(2,L)=1ANDB(2,14-L)>0THENGOSUB680 410 A(I,I0-7)=B(2,7)-B(2,0) 420 NEXTI0:GOTO240 430 FORI0=1TO6 440 M=2:N=7:O=I0:GOSUB710 450 IFB(2,I0)=0THENA(I,I0)=0:GOTO500 460 GOSUB640 470 IFL MOD7=0THENGOTO490 480 IFB(2,L)=1ANDB(2,14-L)>0THENGOSUB680 490 A(I,I0)=B(2,7)-B(2,0) 500 NEXTI0:GOTO240 510 GOSUB900:GOSUB580 520 F0=SGN(B(0,0)-B(0,7)):F0=F0+2 530 ONF0 GOSUB940,550,930 540 LOCATES0,0:LOCATE0,0:END 550 SOUND1,1:SOUND11,1:SOUND21,1:RETURN 560 FORI=0TO13:B(0,I)=M:NEXTI 570 B(0,0)=0:B(0,7)=0:RETURN 580 LOCATES0,0:LOCATE0,1:FORI=6TO1STEP-1 590 PRINTUSING"###";B(0,I);:NEXTI 600 LOCATE0,2:PRINTUSING"###";B(0,7); 610 LOCATE15,2:PRINTUSING"###";B(0,0); 620 LOCATE0,3:FORI=8TO13 630 PRINTUSING"###";B(0,I);:NEXTI:RETURN 640 K=B(M,O):B(M,O)=0 650 FORJ=O+1TOO+K:L=J MOD14 660 B(M,L)=B(M,L)+1:NEXTJ 670 L=(O+K)MOD14:RETURN 680 B(M,N)=B(M,N)+B(M,L)+B(M,14-L) 690 B(M,L)=0:B(M,14-L)=0 700 RETURN 710 FORJ=0TO13:B(M,J)=B(M-1,J) 720 NEXTJ:RETURN 730 FORJ=1TO6:A(J,0)=J:NEXTJ 740 FORJ=1TO6:FORJ0=1TO6 750 A(J,J0)=0:NEXTJ0,J:RETURN 760 FORJ=1TO6:A(O,J)=-144:NEXTJ:RETURN 770 FORJ=1TO6:FORJ0=1TO5 780 IFABS(A(J,J0))>ABS(A(J,J0+1))THEN790ELSE800 790 SWAPA(J,J0),A(J,J0+1) 800 NEXTJ0,J 810 FORJ=1TO5 820 IFA(J,6)>A(J+1,6)THEN830ELSE840 830 SWAPA(J,6),A(J+1,6):SWAPA(J,0),A(J+1,0) 840 NEXTJ 850 RETURN 860 E0=0:FORJ=1TO6:E0=E0+B(0,J):NEXTJ 870 E1=0:FORJ=8TO13:E1=E1+B(0,J):NEXTJ 880 IFE0=0ORE1=0THENE=1 890 RETURN 900 FORJ=1TO6:B(0,7)=B(0,7)+B(0,J):B(0,J)=0:NEXTJ 910 FORJ=8TO13:B(0,0)=B(0,0)+B(0,J):B(0,J)=0:NEXTJ 920 RETURN 930 FORI=1TO3:FORJ=56TO51STEP-1:SOUNDJ,1:SOUND51,1:SOUND56,1:NEXTJ,I:RETURN 940 FORI=1TO2:FORJ=56TO1STEP-4:SOUNDJ,1:SOUNDJ+1,1:NEXTJ,I:RETURN