10 " "LOCK :CLS :CLEAR :USING :DIM A$(1,8)*9:FOR I=0TO 8:A$(0,I)="---------":A$(1,I)=A$(0,I):NEXT I
20 A$="Submarine":B$="Destroyer":C$="Cruiser":D$="Battleship"
30 WAIT 0:CURSOR 8:PAUSE "TASK FORCE":PAUSE "  Copr. 1982 Tandy Corp."
100 FOR P=0TO 1:FOR T=2TO 5:Z$=STR$ T:GOSUB 1E3*(P+1):NEXT T:NEXT P
200 P=0:FOR I=1TO 4
210 CLS :PRINT "Shot";I;:X=9:INPUT " row (0-8)? ";X
215 IF X<0OR X>8THEN 210
220 CURSOR 7:Y=9:INPUT "col (0-8)? ";Y
225 IF Y<0OR Y>8THEN 220
230 CLS :N=0:GOSUB 3E3:IF NPAUSE "Repeat shot":GOTO 210
240 IF L>13PRINT "YOU";:GOTO 600
250 NEXT I
300 P=1:FOR I=1TO 4:IF STHEN 400
310 X=RND 9-1:Y=RND 9-1:GOTO 500
400 S=0:IF Z=0LET Z=RND 4
410 ON Z-1GOTO 430,440,450
420 X=U+1:IF X>8LET X=7:Z=3
421 GOTO 500
430 Y=V-1:IF Y<0LET Y=1:Z=4
431 GOTO 500
440 X=U-1:IF X<0LET X=1:Z=1
441 GOTO 500
450 Y=V+1:IF Y>8LET Y=7:Z=2
500 IF MID$ (A$(1,X),Y+1,1)="*"LET S=0:GOTO 310
510 PAUSE "I shoot at";X;",";STR$ Y:GOSUB 3E3:IF M>13CLS :WAIT 0:PRINT "I";:GOTO 600
520 NEXT I:GOTO 200
600 WAIT 180:PRINT " WIN!"
610 INPUT "New game? ";Z$:IF Z$="Y"THEN 10
620 IF Z$="N"UNLOCK :END
630 GOTO 610
1000 Z=RND 2-1:X=RND (9-T*Z)-1:Y=RND (9-T*(Z=0))-1
1010 Z$=STR$ T:IF ZTHEN 1200
1100 Q=0:FOR J=YTO Y+T-1:IF MID$ (A$(P,X),J+1,1)<>"-"LET Q=1
1110 NEXT J:IF QTHEN 1E3*(P+1)
1120 FOR Y=YTO Y+T-1:GOSUB 4E3:NEXT Y:RETURN 
1200 Q=0:FOR J=XTO X+T-1:IF MID$ (A$(P,J),Y+1,1)<>"-"LET Q=1
1210 NEXT J:IF QTHEN 1E3*(P+1)
1220 FOR X=XTO X+T-1:GOSUB 4E3:NEXT X:RETURN 
2000 CLS :PRINT @$(T-1);:INPUT " row (0-8)? ";X:IF X>=0AND X<9THEN 2020
2010 GOTO 2000
2020 CLS :PRINT @$(T-1);:INPUT " col (0-8)? ";Y:IF Y>=0AND Y<9THEN 2040
2030 GOTO 2020
2040 CLS :INPUT "(H)orz or (V)ert? ";Z$:IF Z$="H"OR Z$="V"THEN 2060
2050 GOTO 2040
2060 CLS :Z=(Z$="V")
2070 IF ((X+T>9)*Z)OR ((Y+T>9)AND Z=0)BEEP 3:GOTO 2E3
2080 GOTO 1010
3000 Z$=MID$ (A$(P,X),Y+1,1):IF Z$="*"LET N=1:RETURN 
3010 IF VAL Z$THEN 3040
3020 PAUSE "SPLASH!":IF SAND PLET X=U:Y=V:Z=Z+2-4*(Z>2):GOTO 3060
3030 IF PLET S=0
3032 GOTO 3060
3040 @(12+P)=@(12+P)+1:PAUSE "Hit a ";@$(VAL Z$-1):IF PLET S=1:U=X:V=Y
3050 Q=4*P+VAL Z$-1:@(Q)=@(Q)+1:IF @(Q)=VAL Z$PAUSE "IT SANK!"
3060 Z$="*"
4000 A$(P,X)=LEFT$ (A$(P,X),Y)+Z$+RIGHT$ (A$(P,X),8-Y):RETURN 
9999 END
