100 GOSUB 1040:GOSUB 770 110 RANDOMIZE VAL(RIGHT$(TIME$,2)) 120 CLS:GOSUB 1190:DEF FNR(Z)=INT(8*RND(1)+1) 130 E=2:GOSUB 1270:LOCATE 23,32:INPUT ;N$ 140 IF N$="" THEN N$="5":E=3:GOSUB 1270 150 IF N$<"1" OR N$>"9" THEN E=10:GOSUB 1270:GOTO 130 160 N=VAL(N$):IF N<2 OR N>10 THEN E=10:GOSUB 1270:GOTO 130 170 FOR J=0 TO 9: FOR I=0 TO 9:B(I,J)=0: NEXT I:NEXT J 180 FOR I=1 TO N 190 X=FNR(1): Y=FNR(1): IF B(X,Y)=1 THEN 190 200 B(X,Y)=1:NEXT I 210 S=0:C=0 220 LOCATE 25,1:PRINT "SCORE:";100-S;:LOCATE 1 230 E=4:GOSUB 1270:LOCATE 23,28:INPUT ;R$ 240 IF R$="END" THEN CHAIN "MENU" 250 IF R$="" THEN 540 260 IF R$<"1" OR R$>"9" THEN 220 270 R=VAL(R$) 280 IF R<1 OR R>32 THEN 220 290 ON (R-1)\8+1 GOTO 300,310,320,330 300 X=0 :Y=R :U=1 :V=0 :GOTO 340 'LEFT SIDE 310 X=R-8 :Y=9 :U=0 :V=-1:GOTO 340 'BOTTOM 320 X=9 :Y=25-R:U=-1:V=0 :GOTO 340 'RIGHT SIDE 330 X=33-R:Y=0 :U=0 :V=1 'TOP 340 X1=X+U:Y1=Y+V 350 IF U=0 THEN X2=X1-1: X3=X1+1: Y2=Y1: Y3=Y1: GOTO 370 360 Y2=Y1-1:Y3=Y1+1: X2=X1: X3=X1 370 ON 8*B(X1,Y1)+B(X2,Y2)+2*B(X3,Y3)+1 GOTO 390,400,410,400 380 LOCATE 25,13:PRINT " ABSORBED ";:S=S+1:Z$=" A":GOTO 1380 390 X=X1: Y=Y1: GOTO 440 400 Z=1: GOTO 420 410 Z=-1 420 IF U=0 THEN U=Z:V=0:GOTO 440 430 U=0: V=Z 440 ON (X+15)\8 GOTO 480,460,490 450 STOP 460 ON (Y+15)\8 GOTO 500,340,510 470 STOP 480 Z=Y: GOTO 520 490 Z=25-Y: GOTO 520 500 Z=33-X: GOTO 520 510 Z=8+X 520 IF Z=R THEN LOCATE 25,13:PRINT " REFLECTED ";:S=S+1:Z$=" R":GOTO 1380 530 LOCATE 25,13:PRINT USING "CAME OUT AT ##";Z;:LOCATE 1:S=S+2:Z$=RIGHT$(STR$(Z),2):GOTO 1380 540 E=5:GOSUB 1270 550 X=4:Y=4 560 Y$=CHR$(SCREEN(Y*2+3,X*3+6)) 570 COLOR 31:LOCATE Y*2+3,X*3+6:PRINT Y$ 580 X$=INKEY$:IF X$="" THEN 580 590 IF ASC(X$)=27 THEN CHAIN "MENU" 600 IF LEN(X$)>1 THEN COLOR 7:E=6:GOSUB 1270:GOTO 580 610 COLOR 7:E=5:GOSUB 1270 620 Y1=Y:X1=X 630 LOCATE 25,1:PRINT "SCORE:";100-S;:LOCATE 1 640 IF X$="8" THEN Y1=Y-1:IF Y1<1 THEN Y1=8 650 IF X$="2" THEN Y1=Y+1:IF Y1>8 THEN Y1=1 660 IF X$="4" THEN X1=X-1:IF X1<1 THEN X1=8 670 IF Y$="*" THEN COLOR 15 ELSE COLOR 7 680 IF X$="6" THEN X1=X+1:IF X1>8 THEN X1=1 690 LOCATE Y*2+3,X*3+6:PRINT Y$ 700 IF X$="5" THEN 740 710 IF X$=CHR$(13) THEN COLOR 7:GOTO 220 720 X=X1:Y=Y1 730 GOTO 560 740 IF B(X,Y)=0 THEN E=7:GOSUB 1270:S=S+5:GOTO 560 750 IF Y$="þ" THEN Y$="*":C=C+1:LOCATE Y*2+3,X*3+6:COLOR 15:PRINT Y$:COLOR 7:IF C