10 CLEAR:DIM UX(4),UY(4):UM=4 20 DX=1:DW=14:DE=DX+DW:CL=0:LM=2 30 FC$=CHR$(&HE6):UC$=CHR$(&HF8):DC$=CHR$(&HF0) 40 GOSUB780:GOSUB910 50 SC=0:LV=0 60 GOSUB640:FORI=0TO UM:UX(I)=0:UY(I)=0:NEXT 70 FX=DX:FY=2 80 GOSUB540:GOSUB210 90 CL=CL+1 100 GOSUB120:GOSUB310 110 GOTO90 120 K$=INKEY$:X=FX:Y=FY 130 IF K$="." THEN Y=3:GOTO170 140 IF K$="2" THEN Y=1:GOTO170 150 IF K$="Z" AND FX=DX THEN X=FX+1:GOTO170 160 Y=2 170 GOSUB280:RETURN 180 IF FX=X AND FY=Y THEN RETURN 190 LOCATE FX,FY:PRINT " "; 200 FX=X:FY=Y 210 LOCATE FX,FY:PRINT FC$; 220 RETURN 230 IF UX(I)=X AND UY(I)=Y THEN RETURN 240 LOCATE UX(I),UY(I):PRINT" "; 250 UX(I)=X:UY(I)=Y 260 LOCATE X,Y:PRINT UC$; 270 RETURN 280 IF FX=DX GOTO300 290 IF FX=DW THEN X=DX ELSE X=FX+1 300 GOSUB180:RETURN 310 UF=CL MOD UA 320 UG=CL MOD UB 330 FORI=0TO UM 340 X=UX(I):Y=UY(I) 350 IF X=FX AND Y=FY THEN GOSUB470:GOTO440 360 IF X<>0 GOTO390 370 IF UF=0 THEN GOSUB450 380 GOTO420 390 IF UG GOTO420 400 X=X-1:IF RAN#HS THEN HS=SC:GOSUB880 490 GOSUB640:GOSUB590 500 UX(I)=0:UY(I)=0 510 X=DX:Y=2:GOSUB180 520 RETURN 530 END 540 CLS 550 FORI=1TO3:LOCATE DX-1,I:PRINT"|";:LOCATE DE,I:PRINT"|";:NEXT 560 LOCATE DX,0:FORI=1TODW:PRINT"-";:NEXT 570 LOCATE DX-1,0:PRINT"+";:LOCATE DE,0:PRINT"+"; 580 GOSUB590:RETURN 590 X=DE+3 600 LOCATE X,0:PRINT USING "SC:####";SC; 610 LOCATE X,1:PRINT USING "HS:####";HS; 620 LOCATE X,2:PRINT USING "LV:####";LV; 630 RETURN 640 L=SC\50 MOD 3:IF L<>LV THEN LV=L:GOSUB670 650 UB=3-LV:UA=UB+2:UC=(LV+1)*.15 660 RETURN 670 FORJ=0TO UM 680 IF J=I OR UX(J)=0 GOTO720 690 LOCATE UX(J),UY(J):PRINT DC$;:FORK=0TO9:NEXT 700 LOCATE UX(J),UY(J):PRINT" "; 710 UX(J)=0:UY(J)=0 720 NEXT:RETURN 730 X=DE+3 740 LOCATE X,2:PRINT"Game over"; 750 LOCATE X,3:PRINT"Push [EXE]"; 760 IF INKEY$<>CHR$(13) GOTO760 770 RETURN 780 CLS 790 PRINT"2:Upper" 800 PRINT".:Lower" 810 PRINT"Z:Go" 820 LOCATE9,0:PRINT"CLS:Clear high score"; 830 LOCATE0,3:PRINT"Push [EXE]"; 840 K$=INKEY$ 850 IF K$=CHR$(12) THEN HS=0:GOSUB880:GOTO780 860 IF K$<>CHR$(13) GOTO840 870 RETURN 880 POKE &H19D0,HS MOD &HFF 890 POKE &H19D1,HS\256 900 RETURN 910 HS=PEEK(&H19D0)+PEEK(&H19D1)*256:RETURN