60 IF DROP=SUB(1) THEN A(DROP)=15:SUB(1)=99 ELSE IF DROP=SUB(2) THEN A(DROP)=15:SUB(2)=99 ELSE IF DROP=SUB(3) THEN A(DROP)=15:SUB(3)=99 ELSE A(DROP)=0
70 IF SUB(1)=SUB(2) AND SUB(3)=99 THEN GOSUB 610:GOTO 630
80 GOSUB 240:TRY=TRY+1:IF SHOTS<3 THEN 50 ELSE SHOTS=0:GOSUB 950:MISS=FIX(RND*2):GOSUB 510:IF MISS THEN 40 ELSE HIT=HIT+1
90 IF HIT=3 THEN GOSUB 600:GOTO 630 ELSE 40
100 LOCATE 24,1:PRINT SPC(78);:LOCATE 24,10:COLOR 15,0:PRINT"Choose a Level 1, 2, or 3 and Strike Corresponding Key";:GOSUB 120:IF Z>"0" AND Z<"4" THEN A=24*(VAL(Z)-1):AA=VAL(Z) ELSE 100
110 LOCATE 24,1:PRINT SPC(78);:LOCATE 24,10:COLOR 15,0:PRINT"Choose a Quadrant A Thru X and Strike Corresponding Key";:GOSUB 120:IF Z<"A" OR Z>"X" THEN 110 ELSE DROP=A+ASC(Z)-65:RETURN
120 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):Z=INKEY$:IF Z="" THEN 120 ELSE GOSUB 930:RETURN
130 FOR A=1 TO VAL(RIGHT$(TIME$,2))*10:B=RND:NEXT:A=FIX(RND*24):IF (A>6 AND A<11) OR (A>12 AND A<17) THEN ELSE 130
430 COLOR 15,0,0:LOCATE 4,30:PRINT"S E A B A T T L E"
440 LOCATE 10,25:PRINT"Would You Like Instructions? <Y/N>":COLOR 3,0
450 GOSUB 120:IF Z="N" THEN RETURN ELSE IF Z<>"Y" THEN 450
460 LOCATE 6,11:PRINT"You're the C.O. on a destroyer. You've played cat and mouse":LOCATE 7,11:PRINT"with the enemy sub for two days now. It's time to do battle.":LOCATE 9,11:PRINT"He's somewhere in the depths below. To fire a depth charge,
470 LOCATE 10,11:PRINT"first select a level 1, 2, or 3; then select the quadrant":LOCATE 11,11:PRINT"A thru X. If your depth charge damages the sub, the space":LOCATE 12,11:PRINT"will be replaced with a flashing star. Remember, the sub
480 LOCATE 13,11:PRINT"is THREE quadrants in length. It can be aligned diagonally,":LOCATE 14,11:PRINT"horizontally, or vertically. The sub will be on one level.":LOCATE 16,11:PRINT"It takes three hits to sink either ship. You will be given
490 LOCATE 17,11:PRINT"three depth charges for each torpedo fired by your enemy.":LOCATE 19,11:PRINT"Your ability to find and destroy the sub will determine your":LOCATE 20,11:PRINT"next assignment, an aircraft carrier or a garbage barge.
500 LOCATE 25,27:COLOR 15,0:PRINT"Strike Any Key To Continue";:COLOR 3,0:GOSUB 120:RETURN
510 ON 3-HIT GOTO 520,530,540
520 LOCATE 12,35:PRINT"▄▄▄"
530 LOCATE 12,42:PRINT"▄▄▄"
540 FOR A=1 TO 3:FOR E=820 TO 1000 STEP 1.5:SOUND E,.1:NEXT:SOUND 50,0:NEXT:FOR A=22 TO 13 STEP -1:LOCATE A,39:PRINT"▌":FOR B=1 TO 300:NEXT:LOCATE A,39:PRINT" ":NEXT:LOCATE 25,25
550 IF MISS THEN PRINT"Torpedo Missed Captain "CAPT$;:GOTO 580 ELSE PRINT"A Torpedo Broadside Captain "CAPT$;
560 GOSUB 930:E=248:A=1674:POKE A-162,E:POKE A-150,E:FOR A1=1 TO 100:NEXT:SOUND 50,.001:POKE A-10,E:POKE A-328,E:SOUND 50,0:FOR A1=1 TO 100:NEXT:SOUND 50,.001:POKE A,E:SOUND 50,0:FOR A1=1 TO 100:NEXT
570 SOUND 50,.001:POKE A+12,E:SOUND 50,0:FOR A1=1 TO 100:NEXT:SOUND 50,.001:POKE A-4,E:SOUND 50,0:FOR A1=1 TO 100:NEXT:SOUND 50,.001:POKE A+8,E:SOUND 50,0:FOR A1=1 TO 100:NEXT:POKE A-168,E:POKE A-484,E:FOR A1=1 TO 100:NEXT
580 FOR A=1 TO 3000:NEXT:RETURN
590 DEFSTR Z:DIM A(71),B(23),SUB(3):FOR A=0 TO 23:A(A)=A+65:A(A+24)=A(A):A(A+48)=A(A):NEXT:FOR A=0 TO 23:READ B(A):NEXT:RETURN
650 LOCATE 12,30:PRINT"You've Accomplished Your Mission
660 LOCATE 13,30:PRINT"And Used Only "TRY" Depth Charges
670 LOCATE 14,30:PRINT"Your Promotion Is On The Way!!!!":GOTO 720
680 LOCATE 10,28:PRINT"We Are Very Sorry Captain "CAPT$
690 LOCATE 12,28:PRINT"Your Ship Was Lost And Crew Killed!
700 LOCATE 13,28:PRINT"You Should Be Court-Marshalled For "
710 LOCATE 14,28:PRINT"Your Poor Judgement And Performance
720 LOCATE 16,28:PRINT"Would You Like To Play Again? <Y/N>";:COLOR 3,0
730 GOSUB 120:IF Z="N" THEN 800 ELSE IF Z<>"Y" THEN 730
740 CLEAR:GOSUB 590
750 CLS:COLOR 15,0:LOCATE 6,15:PRINT"(Enter Your Name And Then Strike The Enter Key)
760 LOCATE 4,20:PRINT"What Is Your First Name Captain? ";
770 GOSUB 870:CAPT$=ZA:COLOR 3,0
780 IF LEN(CAPT$)<2 THEN CAPT$=""
790 GOSUB 130:GOTO 30
800 CLEAR:ON ERROR GOTO 810:RUN"MENU1.001
810 CLEAR:ON ERROR GOTO 820:RUN"MENU2.002
820 RUN"MENU3.003
830 KEY(10) OFF:XX=CSRLIN:YY=POS(0):LOCATE 25,1:PRINT SPC(78);:LOCATE 25,20:PRINT"Do You Wish To Leave This Game? <Y/N>";
840 GOSUB 120:IF Z="Y" THEN 800 ELSE IF Z<>"N" THEN 840
850 LOCATE 25,1:PRINT SPC(78);:LOCATE 25,22:COLOR 0,15:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:IF XX=<1 OR YY<1 THEN ELSE LOCATE XX,YY
860 KEY(10) ON:RETURN
870 GOSUB 120:IF Z=CHR$(13) THEN ZA=SPACE$(8):LSET ZA=ZH:RETURN ELSE IF Z=CHR$(8) THEN IF LEN(ZH)<1 THEN 870 ELSE PRINT CHR$(29)" "CHR$(29);:ZH=LEFT$(ZH,LEN(ZH)-1):GOTO 870
880 IF LEN(ZH)>7 THEN 870 ELSE ZH=ZH+Z:PRINT Z;:GOTO 870