10 CLEAR:MEMSET:WIDTH20,8 20 DIMA(200),A1(100) 30 CLS 40 U=33 50 V=66 60 DATA 0,0,0,0,0,0,0,0,0,0 70 DATA 0,-99,-1,-15,-15,-15,-15,-1,-99,0 80 DATA 0,-1,-1,-5,-5,-5,-5,-1,-1,0 90 DATA 0,-15,-5,-12,-10,-10,-12,-5,-15,0 100 DATA 0,-15,-5,-10,1,2,-10,-5,-15,0 110 DATA 0,-15,-5,-10,2,1,-10,-5,-15,0 120 DATA 0,-15,-5,-12,-10,-10,-12,-5,-15,0 130 DATA 0,-1,-1,-5,-5,-5,-5,-1,-1,0 140 DATA 0,-99,-1,-15,-15,-15,-15,-1,-99,0 150 DATA 0,0,0,0,0,0,0,0,0,0 160 ROW=5 170 COL=5 180 RESTORE 190 FORI=0TO99 200 READA(I) 210 A1(I)=A(I) 220 NEXTI 230 INPUT"LEVEL";Z2:Z2=ABS((Z2-1)MOD5+1) 240 ONZ2 GOTO300,290,280,270,260 250 GOTO230 260 A(81)=2 270 A(18)=2 280 A(88)=2 290 A(11)=2 300 INPUT"WH/BL";Z:Z=ABS((Z-1)MOD4+1) 310 FORI=9TO12 320 J=11*(I\12) 330 A(91+I)=I-J 340 A(95+I)=J-I 350 NEXTI 360 IFZ>2THENGOSUB2130:Z=Z-2 370 GOSUB1650 380 GOSUB1370 390 IFZ=2THEN850 400 LOCATE17,0,0 410 PRINTCHR$(153)+CHR$(32); 420 C=0 430 D=0 440 FORF=U TOV 450 IFA(F)=0THENF=F+2 460 IFA(F)>0THEN590 470 B=0 480 FORK=100TO107 490 J=F 500 A=0 510 J=J+A(K) 520 IFA(J)<1THEN550 530 IFA(J)=1THENA=A-A(F):GOTO510 540 B=B+A 550 NEXTK 560 IFB=0THEN590 570 IFB>C THENC=B:A(108)=F:D=1 580 IFB=C THENA(108+D)=F:D=D+1 590 NEXTF 600 IFC>0THEN660 610 LOCATE17,0,0 620 PRINTCHR$(153)+CHR$(153); 630 IFQ=1THEN1500 640 S5=1 650 GOTO850 660 I=A(107+INT(D*RND(1)+1)) 670 ROW=I\10 680 COL=I MOD10 690 A(I)=2 700 GOSUB1270 710 J=I 720 Q=0 730 FORK=100TO107 740 A=0 750 I=J 760 I=I+A(K) 770 IFA(I)<1THEN830 780 IFA(I)=2THEN810 790 A=A+1 800 GOTO760 810 I=J 820 IFA>0THENZ=Z:FORL=1TOA:I=I+A(K):A(I)=2:GOSUB1270:NEXTL 830 NEXTK 840 GOSUB1370 850 GOSUB1880 860 M=INT(M) 870 IFM=0THEN1240 880 IFM=1THENZ=Z:GOSUB1650:GOSUB1370:GOTO850 890 IFM=2THENS1=0:S2=64:GOTO1500 900 IFM=3THEN940 910 IFM=4THEN1580 920 IF(M<11)OR(M>88)OR(A(M)>0)THEN1200 930 S5=0 940 B=0 950 FORK=100TO107 960 J=M 970 A=0 980 J=J+A(K) 990 IFA(J)<1THEN1100 1000 IFA(J)=2THENA=A+1:GOTO980 1010 I=M 1020 IFA=0THEN1100 1030 IFA(I)<0THENA(I)=1:GOSUB1270 1040 FORZ1=1TOA 1050 I=I+A(K) 1060 A(I)=1 1070 B=B+1 1080 GOSUB1270 1090 NEXTZ1 1100 NEXTK 1110 IFB=0THEN1200 1120 W=M-11 1130 IFWV THENV=W 1170 IFA(V)=0THENV=V-1:GOTO1170 1180 GOSUB1370 1190 GOTO400 1200 LOCATE17,0,0 1210 PRINTCHR$(150)+CHR$(150); 1220 GOSUB1480 1230 GOTO850 1240 IFS5=1THEN1500 1250 Q=1 1260 GOTO400 1270 IFI<11ORI>88THEN1360 1280 R=I\10 1290 C=I MOD10 1300 C=(C-1)+8*((R-1)\4) 1310 R=(R-1)MOD4 1320 IFA(I)=2THENPIECE$=CHR$(143):GOTO1340ELSEPIECE$=CHR$(144) 1330 IFA(I)=1THENPIECE$=CHR$(144)ELSEGOTO1360 1340 LOCATEC,R 1350 PRINTPIECE$; 1360 RETURN 1370 S1=0 1380 S2=0 1390 FORI=11TO88:IFA(I)=1THENS1=S1+1 1400 IFA(I)=2THENS2=S2+1 1410 NEXTI 1420 LOCATE17,2 1430 PRINTRIGHT$(STR$(S1),2); 1440 LOCATE17,3 1450 PRINTRIGHT$(STR$(S2),2); 1460 IF(S1=0)OR(S2=0)OR(S1+S2=64)THEN1510 1470 RETURN 1480 SOUND20,1 1490 RETURN 1500 GOSUB1480 1510 LOCATE17,0 1520 IFS1>S2 THENPRINTSTRING$(3,150);:GOSUB2220 1530 IFS1"0"THEN:A(10*Y+X)=VAL(FILE$):A1(10*Y+X)=VAL(FILE$) 2200 NEXTX,Y 2210 RETURN 2220 FORI=1TO3:FORJ=56TO51STEP-1 2230 SOUNDJ,1:SOUND51,1:SOUND56,1 2240 NEXTJ,I 2250 RETURN 2260 FORI=1TO2:FORJ=56TO1STEP-4 2270 SOUNDJ,1:SOUNDJ+1,1 2280 NEXTJ,I 2290 RETURN