100 REM ... SWOLF.ECB "SEAWOLF" by Ralph Hopkins ; Eagan, Mn. 6-10-79 110 DIM B(50),E(50),G(50),H(50),K(50),L(50) 120 DIM R(50),S(50),T(50),W(50),M$(40),S$(16) 150 LET Z9=INT(RND(0)*7)+3: PRINT "&K" 160 LET L=0: LET M9=1: LET W=0 170 LET S$="SEAWOLF": LET F$=" feet.": LET Y$=" yards." 180 LET M$=".:. Type in any letter to see more ---=>" 200 PRINT TAB(20);"D." 210 PRINT TAB(20);"||" 220 PRINT TAB(20);"||" 230 PRINT TAB(20);"||" 240 PRINT TAB(17);".:='''''=:\" 250 PRINT TAB(12);"-=: |: USS 409 :\" 260 PRINT TAB(13);"X |: :\" 270 PRINT "\TuTuTuTuTuT.T;T=T^T^T^T^T^T^T=T:T.TuTuTuTuTuT|\;,." 280 PRINT " \ C -=<< S E A W O L F >>=- ''''''===---..." 290 FOR X=1 TO 16: PRINT "^ ~ ";: NEXT X 300 DATA 0,1,0,1,1,1,2,25,50,26,7 310 READ A,C,K,M,N,Q1,S,S1,S2,T,Z 320 LET O=INT(RND(0)*16)+1 330 LET D1=INT(RND(0)*11)+20 340 LET B=INT((RND(0)*70)+15)*10 400 REM.---- Ship TYPE numbers ---- 410 DATA 8,2,46,47,48,50,49,12,3,49 420 DATA 3,4,13,14,15,1,16,6,17,18 430 DATA 19,1,20,10,21,21,23,3,7,24 440 DATA 12,25,1,9,31,6,26,3,32,33 450 DATA 34,11,28,5,27,29,35,48,2,30 490 FOR X=1 TO 50: READ T(X): LET H(X)=1: LET G(X)=0: NEXT X 500 PRINT "&J Do you want the instructions for SEAWOLF ?&J" 510 IF RND(0)>.6 THEN LET Z=Z+INT(RND(0)*15) 520 INPUT (1,200)"Answer Yes or No (Y=Yes , N=No) ---=>",I$ 530 REM------ SWAP TYPE NUMBERS AROUND ------ 540 FOR X=1 TO Z 550 LET Z1=INT(RND(0)*50)+1: PRINT 560 LET Z2=INT(RND(0)*50)+1: LET T(Z1)=T(Z2) 570 NEXT X 580 IF LEN(I$)=0 THEN 700 590 IF I$="N" THEN 700 ELSE PRINT "&K&J&J" 600 PRINT TAB(10);"### MESSAGE FROM COMPAC ###&J&J" 610 PRINT " You are instructed to attack and sink enemy" 620 PRINT " shipping operating in the ";: GOSUB 7700 630 PRINT "&J ## BEWARE ## the infamous 'BUNGO PETE'" 640 PRINT " who has sunk ";Z9;" of our submarines so far!&J" 650 PRINT " YOU WILL HAVE UP TO ";D1;" DAYS TO" 660 PRINT " SINK AS MANY SHIPS AS YOU CAN.&J" 670 PRINT "*#* TYPE in any new code name for the ";S$ 680 INPUT " ---=>",S$ 690 PRINT 700 FOR X=1 TO 50: LET L(X)=10: NEXT X 710 PRINT "*** TYPE the letter 'C' for a SUMMARY of the COMMANDS ***&J" 720 LET Q=O+Z 800 FOR X=1 TO 50: REM------- UNIQUE SHIPS PER AREA ---- 805 LET I=T(X) 810 IF I=6 THEN IF O>7 THEN IF O<11 THEN LET T(X)=44: GOTO 990 820 IF I=8 THEN IF O<4 THEN LET T(X)=41: GOTO 990 830 IF I=10 THEN IF O<3 THEN LET T(X)=43: GOTO 990 835 IF I=10 THEN IF O>12 THEN LET T(X)=43: GOTO 990 840 IF I=17 THEN IF O>7 THEN IF O<11 THEN LET T(X)=44: GOTO 990 850 IF I=20 THEN IF O>8 THEN IF O<13 THEN LET T(X)=42: GOTO 990 860 IF I=26 THEN IF O>3 THEN IF O<12 THEN LET T(X)=42: GOTO 990 870 IF I=29 THEN IF O=8 THEN LET T(X)=34: GOTO 990 875 IF I=29 THEN IF O=11 THEN LET T(X)=34: GOTO 990 880 IF I=31 THEN IF O>7 THEN IF O<11 THEN LET T(X)=44: GOTO 990 885 IF I=31 THEN IF RND(0)>.5 THEN LET T(X)=37: GOTO 990 890 IF I=32 THEN IF O=8 THEN LET T(X)=34: GOTO 990 895 IF I=32 THEN IF O=11 THEN LET T(X)=34: GOTO 990 897 IF T=32 THEN IF O>12 THEN LET T(X)=39: GOTO 990 900 IF I=33 THEN IF O=8 OR O=11 THEN LET T(X)=34: GOTO 990 910 IF I=33 THEN IF O>12 THEN LET T(X)=40: GOTO 990 915 IF I=33 THEN IF RND(0)>.5 THEN LET T(X)=38: GOTO 990 920 IF I=35 THEN IF RND(0)>.5 THEN LET T(X)=37: GOTO 990 925 IF I=35 THEN IF O=8 THEN LET T(X)=34: GOTO 990 930 IF I=35 THEN IF O=11 THEN LET T(X)=34: GOTO 990 970 IF I=49 THEN IF O>3 THEN IF O<8 THEN LET T(X)=45: GOTO 990 990 NEXT X 1000 PRINT TAB(10);"*** GOOD HUNTING ";S$;" ***&J" 1020 LET Z=INT(RND(0)*12)+1: LET Y=0 1030 LET Z1=INT(RND(0)*28)+13: LET Y1=0 1040 LET Z2=INT(RND(0)*10)+41: LET Y2=0 1050 FOR X=1 TO 50: REM++++++++++ SHIP DATA ++++++++++ 1055 LET I=T(X): LET I1=INT((I/10)+1) 1060 IF I<11 THEN LET L(X)=6 1070 IF I=Z THEN LET Y=Y+1: PRINT Y;" ";: GOSUB 7000 1075 IF I=Z THEN PRINT "(S) known in your area" 1080 IF I=Z1 THEN LET Y1=Y1+1: PRINT Y1;" ";: GOSUB 7000 1085 IF I=Z1 THEN PRINT "(S) reported in your area" 1090 IF I=Z2 THEN LET Y2=Y2+1: PRINT Y2;" ";: GOSUB 7000 1095 IF I=Z2 THEN PRINT "(S) spotted in your area" 1100 ON I1 GOTO 1105,1110,1115,1120,1125,1620 1105 ON I GOTO 1130,1140,1150,1160,1170,1180,1190,1200,1210 1110 ON I-9 GOTO 1220,1230,1240,1250,1260,1270,1280,1290,1300,1310 1115 ON I-19 GOTO 1320,1330,1340,1350,1360,1370,1380,1390,1400,1410 1120 ON I-29 GOTO 1420,1430,1440,1450,1460,1470,1480,1490,1500,1510 1125 ON I-39 GOTO 1520,1530,1540,1550,1560,1570,1580,1590,1600,1610 1130 LET W(X)=1050: LET G(X)=1: LET S(X)=250: GOTO 1900 1140 LET W(X)=1800: LET H(X)=2: LET G(X)=2: LET S(X)=300: GOTO 1900 1150 LET W(X)=1350: LET H(X)=2: LET G(X)=2: LET S(X)=325: GOTO 1900 1160 LET W(X)=1200: LET G(X)=2: LET S(X)=300: GOTO 1900 1170 LET W(X)=900: LET G(X)=1: LET S(X)=450: GOTO 1900 1180 LET W(X)=900: LET G(X)=1: LET S(X)=400: GOTO 1900 1190 LET H(X)=4: IF O>4 THEN IF O<8 THEN LET H(X)=INT(RND(0)*3.5)+1 1195 LET W(X)=2100: LET G(X)=3: LET S(X)=300: GOTO 1900 1200 LET W(X)=2500: LET H(X)=3: LET G(X)=2: LET S(X)=400: GOTO 1900 1210 LET W(X)=1400: LET G(X)=1: LET S(X)=275: GOTO 1900 1220 LET W(X)=70: LET G(X)=1: LET S(X)=600: GOTO 1900 1230 LET W(X)=90: LET G(X)=1: LET S(X)=500: GOTO 1900 1240 IF O=4 THEN LET G(X)=1 1245 LET W(X)=3100: LET H(X)=2: LET L(X)=7: LET S(X)=300: GOTO 1900 1250 LET W(X)=3500: LET L(X)=8: LET S(X)=275: GOTO 1900 1260 LET W(X)=6500: LET H(X)=2: LET L(X)=8: LET S(X)=250: GOTO 1900 1270 LET W(X)=9150: LET H(X)=2: LET L(X)=9: LET S(X)=250: GOTO 1900 1280 IF O>3 THEN LET G(X)=1: IF O=8 THEN LET G(X)=0 1285 LET W(X)=11500: LET H(X)=3: LET L(X)=8: LET S(X)=275: GOTO 1900 1290 LET W(X)=9500: LET H(X)=2: LET L(X)=9: LET S(X)=275: GOTO 1900 1300 LET G(X)=1: IF O>5 THEN IF O<13 THEN LET G(X)=0 1305 LET W(X)=11500: LET H(X)=3: LET L(X)=9: LET S(X)=100: GOTO 1900 1310 LET W(X)=8500: LET H(X)=2: LET L(X)=9: LET S(X)=150: GOTO 1900 1320 LET W(X)=6000: LET H(X)=2: LET L(X)=8: LET S(X)=200: GOTO 1900 1330 LET W(X)=7500: LET H(X)=2: LET L(X)=8: LET S(X)=200: GOTO 1900 1340 IF O=INT(RND(0)*16)+1 THEN LET G(X)=1 1345 LET W(X)=9650: LET L(X)=7: LET S(X)=200: GOTO 1900 1350 LET W(X)=8850: LET H(X)=3: LET L(X)=7: LET S(X)=100: GOTO 1900 1355 LET G(X)=1: IF O>2 THEN LET G(X)=0: IF O=12 THEN LET G(X)=1 1360 IF O>4 THEN LET G(X)=2: IF O>13 THEN LET G(X)=1 1365 LET W(X)=4350: LET H(X)=3: LET L(X)=7: LET S(X)=300: GOTO 1900 1370 IF O=16 THEN LET G(X)=1 1375 LET W(X)=1350: LET L(X)=7: LET S(X)=300: GOTO 1900 1380 LET W(X)=7100: LET H(X)=3: LET L(X)=8: LET S(X)=250: GOTO 1900 1390 LET W(X)=2250: LET H(X)=2: LET L(X)=8: LET S(X)=250: GOTO 1900 1400 LET W(X)=2000: LET L(X)=7: LET S(X)=150: GOTO 1900 1410 LET W(X)=1800: LET H(X)=2: LET S(X)=150: GOTO 1900 1420 LET W(X)=3100: LET H(X)=2: LET L(X)=9: LET S(X)=275: GOTO 1900 1430 LET W(X)=650: LET S(X)=200: GOTO 1900 1440 LET W(X)=120: LET S(X)=100: GOTO 1900 1450 LET W(X)=100: LET S(X)=50: GOTO 1900 1460 LET W(X)=650: LET S(X)=90: GOTO 1900 1470 LET W(X)=950: LET S(X)=70: GOTO 1900 1480 LET W(X)=6000: LET H(X)=2: LET L(X)=8: LET S(X)=200: GOTO 1900 1490 LET W(X)=850: LET S(X)=150: GOTO 1900 1500 LET W(X)=500: LET S(X)=50: GOTO 1900 1510 LET W(X)=90: LET S(X)=50: GOTO 1900 1520 LET W(X)=100: LET S(X)=50: GOTO 1900 1530 LET W(X)=3000: LET H(X)=3: LET G(X)=2: LET S(X)=400: LET L(X)=6: GOTO 1900 1540 LET W(X)=7500: LET H(X)=3: LET S(X)=400: LET L(X)=8: GOTO 1900 1550 LET W(X)=150: LET G(X)=1: LET S(X)=400: LET L(X)=6: GOTO 1900 1560 LET W(X)=800: LET G(X)=1: LET L(X)=12: LET S(X)=200: GOTO 1900 1570 LET W(X)=13500: LET H(X)=4: LET G(X)=2: LET L(X)=2: LET S(X)=300: GOTO 1900 1580 LET W(X)=33500: LET H(X)=8: LET G(X)=6: LET L(X)=1: LET S(X)=325: GOTO 1900 1590 LET W(X)=25700: LET H(X)=5: LET G(X)=3: LET L(X)=2: LET S(X)=400: GOTO 1900 1600 LET W(X)=18500: LET H(X)=4: LET G(X)=4: LET L(X)=3: LET S(X)=375: GOTO 1900 1610 LET W(X)=12800: LET H(X)=3: LET G(X)=3: LET L(X)=3: LET S(X)=350: GOTO 1900 1620 LET W(X)=10500: LET H(X)=3: LET G(X)=3: LET L(X)=3: LET S(X)=375 1900 NEXT X 1950 IF Y+Y1+Y2>0 THEN 1990 1960 PRINT ,"** NO INTELLEGENCE REPORT TODAY **" 1990 LET Y=0: GOTO 3000 2000 LET Y=INT(RND(0)*12)+1: REM.....<*> BUNGO PETE MESSAGES <*> 2010 PRINT ,"&J%+% RADIO MESSAGE comming Sir! %+%&J": PAUSE 8 2020 PRINT S$,"<*> This is BUNGO PETE <*>&J": PAUSE 8 2030 ON Y GOTO 2100,2120,2160,2190,2230,2250,2300,2330,2360,2400,2430,2460 2100 PRINT "You have had it.": PRINT ,"We know WHERE you are!" 2110 PRINT "Today, the Rising Sun will set on you !!!": RETURN 2120 PRINT "You must stop this senseless sinking of our ships!" 2140 PRINT "This really makes us angry !!!" 2150 PRINT "%+% TODAY WE WILL SINK YOU %+%": RETURN 2160 PRINT "We KNOW who you are ...": PAUSE 15 2170 PRINT "We found out by picking up your garbage.": PAUSE 9 2180 PRINT "Soon you will be garbage too !!!": GOTO 2900 2190 PRINT "Some of you have been very lucky..." 2200 PRINT " I will even admit some other ships have sunk me." 2210 PRINT "But, I have always escaped": PAUSE 9 2220 PRINT ,"*#* YOU ... will not *#*": RETURN 2230 PRINT "Oh ";S$;" . . . .": PAUSE 15 2240 PRINT "I have some DEPTH CHARGES for you !": RETURN 2250 PRINT "TOKYO ROSE will broadcast your deceased names tonight" 2260 PRINT "...and she will recommend metal of honor for you." 2270 PAUSE 15 2280 PRINT "Then we will send pieces of ";S$;" to your homes!" 2290 GOTO 2900 2300 PRINT "%+% We have something for you ... %+%": PAUSE 15 2310 PRINT "%+% You will get a bang out of this. %+%": PAUSE 9 2320 PRINT "%+% There some explosives here for you ! %+%": GOTO 2900 2330 PRINT "WHERE DID YOU LEARN TO SHOOT?" 2340 PRINT "The last sub *COMPAC* sent ...": PAUSE 9 2350 PRINT ,"... shot a fish with a fish.": GOTO 2900 2360 PRINT "%+% Do you play Billards CAPTAIN? %+%": PAUSE 9 2370 PRINT "Well ... You are the EIGHT BALL .... Ha-ha-ha": PAUSE 9 2380 PRINT "... and I am going to shoot you into the DEEP pocket!" 2390 PAUSE 15: GOTO 2900 2400 PRINT "Our superior new weapon will send your fish back..." 2410 PAUSE 9: PRINT ,"...to YOU!" 2420 PRINT "Seawolf, you will sink YOURSELF !!!": GOTO 2900 2430 PRINT ,"Rose are Red ... Violets are blue ...": PAUSE 9 2440 PRINT ,"I'll bet you just dred ...": PAUSE 9 2450 PRINT ,"torpedoes too!": PAUSE 9: GOTO 2900 2460 PRINT " A bird in the hand ... is worth two in the bush" 2470 PRINT " A SEAWOLF in the hand ... is worth ...": PAUSE 9 2480 PRINT " - - - 2 GOONEY BIRDS !!!": PAUSE 9: GOTO 2900 2900 PRINT ,,"Ha-ha-ha Ha-ha Ha-ha-ha-ha !" 2910 RETURN 3000 REM****** SEAWOLF EXEC ******* ....PICK TARGET 3010 IF N>0 THEN 3200 3020 LET Q=INT(RND(0)*45)+1: LET Q1=INT(RND(0)*5)+1 3025 IF RND(0)>.4 THEN LET Q1=INT(RND(0)*2.6)+1 3030 FOR X=Q TO Q+(Q1-1) 3040 IF H(X)<=0 THEN 3090 3050 LET R(X)=INT((RND(0)*25)+5)*250 3055 IF S=3 THEN LET R(X)=INT((RND(0)*10)+3)*1000 3060 LET E(X)=INT(R(X)/2) 3065 IF RND(0)>.3 THEN LET Z=-1 ELSE LET Z=1 3070 LET S(X)=S(X)*(Z): LET E=INT(R(X)*.9) 3080 LET B(X)=INT(RND(0)*3600)/10 3090 NEXT X 3100 LET C=INT(RND(0)*32)+1: REM---- SELECT CONDITION ---- 3110 LET D=INT(RND(0)*20)+1: REM---- SELECT TIME OF DAY --- 3120 LET D1=D1-1: REM----- SPEND ONE DAY 3130 LET A=0: LET B=INT((RND(0)*70)+15)*10 3200 LET N=0: REM.======== SHIP COUNT & MOVE SHIPS ========= 3230 FOR X=Q TO Q+(Q1-1) 3240 IF H(X)<=0 THEN 3290 3250 LET N=N+1: LET R(X)=R(X)+(M*S(X)) 3260 IF S=3 THEN IF G(X)=0 THEN LET S(X)=ABS(S(X)) 3270 IF R(X)<0 THEN LET S(X)=ABS(S(X)) 3280 LET R(X)=INT(R(X)/10)*10 3285 IF S>1 THEN IF R(X)=0 THEN LET S=-4: REM=== SEAWOLF RAMMED! === 3290 NEXT X 3300 REM======= JAP ARMED SHIPS SHOOT ON THE SURFACE ==== 3305 IF S<0 THEN 9000 3310 IF N<=0 THEN 4000 3320 IF A=0 AND S<3 THEN 4000 3330 IF S<3 THEN 3400 3340 IF RND(0)>.90 THEN 3400 3350 FOR X=Q TO Q+(Q1-1) 3360 IF H(X)<=0 THEN 3390 3370 IF G(X)>0 THEN GOSUB 3800: REM=== SHOOT === 3380 IF S<0 THEN 9000 3390 NEXT X 3400 IF O<8 THEN 3600: REM======= JAP TORPEDOES ======= 3405 IF O>10 THEN 3600 3410 IF S<1 THEN 3600 3420 FOR X=Q TO Q+(Q1-1) 3430 IF H(X)<=0 OR L(X)<11 THEN 3485 3440 LET H=INT(RND(0)*6)-INT((R(X)/1000)-3) 3450 IF S=2 THEN LET Z=INT((RND(0)*75)+1) ELSE LET Z=10 3460 IF S=3 THEN GOSUB 7000: PRINT " ### FIRING TORPEDOES ###" 3465 IF S<3 THEN PRINT " *** SONAR REPORTS INCOMING TORPEDOES ***" 3470 IF H>0 THEN IF ABS(S1-Z)<11 THEN LET S=-3: GOTO 9000 3480 PRINT : PRINT TAB(20);" ### JAP TORPEDOES MISSED ###" 3485 NEXT X 3490 IF S>1 THEN 3600 3500 FOR X=Q TO Q+(Q1-1): REM- - - - JAP SUBS DIVE - - - - 3510 IF H(X)<=0 OR L(X)<11 THEN 3590 3520 IF A=0 THEN LET L(X)=12: GOTO 3590 3530 IF L(X)<>12 THEN 3590 3540 GOSUB 7000: PRINT " *** DIVING ***": LET L(X)=11 3590 NEXT X 3600 IF S=3 THEN 4000: REM====== DEPTH CHARGE ATTACK ====== 3605 PRINT 3610 IF A=0 THEN 5000 3620 FOR X=Q TO Q+(Q1-1) 3630 IF H(X)<=0 OR L(X)<>6 THEN 3795 3635 IF B(X)=0 THEN LET B(X)=INT(RND(0)*360)+1 3640 IF R(X)>INT(RND(0)*4000)+2500 THEN IF RND(0)>.7 THEN LET A=0 3645 LET S(X)=ABS(S(X))*(-1): IF R(X)>1000 THEN LET R(X)=R(X)+S(X) 3650 IF R(X)>0 THEN 3660 3655 LET R(X)=INT((RND(0)*10)*250)+500: LET B(X)=INT(RND(0)*360)+1 3660 GOSUB 7000 3670 IF R(X)>=4500 THEN PRINT " ## APROACHING FAST ##";: GOTO 3690 3680 LET S=1: PRINT " is ATTACKING !!!"; 3690 LET Z1=INT(RND(0)*4)+3: PRINT " - - - Bearing: ";B(X) 3700 GOSUB 7000: REM+ + + THE ATTACK RUN + + + 3710 PRINT TAB(25);"Range: ";R(X);TAB(40); 3715 IF R(X)>2500 THEN 3725 3720 IF RND(0)>.4 THEN PRINT "*** V A A R O O M ***": GOTO 3730 3725 PRINT S$;" AT ";S1;F$ 3730 IF L(X)<11 THEN LET R(X)=R(X)+(S(X)) 3740 LET S1=S1+25: IF S1>B THEN LET S1=B 3745 IF R(X)>=4500 THEN 3795 3750 IF S1>=400 THEN 3760 3755 IF R(X)>0 THEN 3700 3760 LET R(X)=INT((RND(0)*25)+1)*100: LET Z=INT((RND(0)*10)*25)+50 3765 IF S1<=125 THEN IF R(X)<=0 THEN LET S=-2: GOTO 9000 3770 FOR Y=1 TO Z1 3772 PRINT TAB(20);"*** V A A R O O M ***" 3774 NEXT Y 3775 PRINT 3780 IF S1=B THEN PRINT S$;" is on the bottom at ";B;F$ 3785 IF Z+25>=S1 THEN IF Z-25<=S1 THEN LET S=-2: GOTO 9000 3790 PRINT "&J&[&A&I **** WHEW ! **** ... ";S$;" ESCAPED!" 3795 NEXT X 3799 GOTO 4000 3800 FOR Z=1 TO G(X): REM+++++ ENEMY GUNFIRE +++++ 3810 IF RND(0)>.9 THEN 3940 3820 PRINT ,"### B O O M ###" 3830 GOSUB 7000 3835 PRINT " firing from ";R(X);Y$ 3840 LET E(X)=INT(RND(0)*(R(X)-E(X))+E(X)) 3850 IF E(X)>R(X)+10 THEN LET E(X)=R(X)-INT(RND(0)*50) 3870 IF ABS(R(X)-E(X))>10 THEN IF ABS(R(X))>500 THEN 3900 3880 LET S=-1 3890 GOTO 3995 3900 PRINT ,"* S P L A S H *" 3910 PRINT ,,"missed by ";R(X)-E(X);Y$ 3920 IF L(X)>2 THEN LET S(X)=ABS(S(X))*(-1) 3940 NEXT Z 3950 IF L(X)=6 THEN LET A=1 3995 RETURN 4000 IF S=3 THEN LET A=1 5000 REM########## SEAWOLF EXEC ########### 5010 IF S<0 THEN 9000 5020 IF D1<0 THEN 9000 5030 IF T<=0 THEN 9000 5040 IF K>=50 THEN 9000 5050 LET M=1 5080 IF N=0 THEN 5100 5090 IF C=2 OR C=39 THEN PRINT ELSE 5200 5100 PRINT 5110 IF S=3 THEN PRINT ,"+ + + LOOKOUT REPORT + + +" 5120 IF S<3 THEN PRINT ,"*** SONAR REPORT ***" 5130 PRINT 5140 IF N=0 THEN PRINT ," ..... nothing.": GOTO 5200 5150 IF S=3 THEN GOSUB 5700: GOTO 5200 5160 IF N=1 THEN IF R(Q)>5000 THEN PRINT "...Distant sounds" 5170 IF N=1 THEN IF R(Q)<=5000 THEN PRINT "...Ship sounds above" 5180 IF N>3 THEN PRINT : PRINT ,"### FLASH ###&J" 5190 IF N>1 THEN PRINT ,"SOUNDS LIKE";N;" SHIPS !" 5200 PRINT 5210 INPUT (1,200)" -=- next command CAPTAIN (0 to 9)---=>",C$ 5220 PRINT : SET DS=0 5230 IF LEN(C$)=0 THEN LET C=1: GOTO 6100 5240 LET C=ASC(C$(1,1))-48 5250 IF S<1 OR O>3 THEN 5300 5260 IF RND(0)>.93 THEN GOSUB 2000: PAUSE 30: PRINT 5300 IF C=0 OR C=35 THEN 6000: REM*+* SURFACE 5310 IF C=1 OR C=32 THEN 6100: REM*+* PERISCOPE 5320 IF C=2 OR C=39 THEN 6200: REM*+* WAIT 5330 IF C=3 OR C=23 THEN 6300: REM*+* SHOOT DECK GUN 5340 IF C=4 OR C=36 THEN 6400: REM*+* SHOOT TORPEDOES 5350 IF C=5 OR C=30 THEN 6500: REM*+* WAIT ONE DAY - SEE NEW SHIPS 5360 IF C=6 OR C=31 THEN 6600: REM..OCEAN,STATUS,DAYS LEFT 5370 IF C=7 OR C=25 THEN 6700: REM*+* INFO ON HITS TO SINK SHIPS 5380 IF C=8 OR C=20 THEN 6800: REM*+* DIVE 5390 IF C=9 OR C=28 THEN 6900: REM*+* LOG OF SHIP SINKS 5500 PRINT " *+*+*+*+* COMMAND SUMMARY *+*+*+*+*&J" 5505 PRINT " COMMAND # 0 or S -- SURFACE THE ";S$ 5510 PRINT " COMMAND # 1 or P -- PERISCOPE OR SURFACE SCAN" 5520 PRINT " COMMAND # 2 or W -- WAIT FOR THE JAPS TO MOVE" 5530 PRINT " COMMAND # 3 or G -- FIRE THE DECK GUN" 5540 PRINT " COMMAND # 4 or T -- FIRE TORPEDOES" 5550 PRINT " COMMAND # 5 or N -- GET NEW SHIPS and WAIT ONE DAY" 5560 PRINT " COMMAND # 6 or O -- Ocean,Status,Days left" 5570 PRINT " COMMAND # 7 or I -- INFO on HITS to SINK SHIPS" 5580 PRINT " COMMAND # 8 or D -- ### DIVE ###" 5590 PRINT " COMMAND # 9 or L -- ";S$;" LOG of ENEMY SHIPS SUNK" 5690 GOTO 5200 5700 FOR X=Q TO Q+(Q1-1): REM++++ SURFACE DISPLAY GOSUB ++++ 5710 IF H(X)<=0 THEN 5770 5720 IF C=0 OR C=35 THEN PRINT " "; ELSE PRINT X;" "; 5730 GOSUB 7000 5740 PRINT TAB(30);"range: ";R(X) 5770 NEXT X 5780 IF C=3 OR C=4 OR C=23 OR C=36 THEN GOSUB 5900 5790 RETURN 5800 FOR E=Q TO Q+(Q1-1): REM--- FIND FIRST VALID TARGET -- 5810 IF H(E)>0 THEN LET X=E: GOTO 5890 5830 NEXT E 5840 LET E=0 5850 PRINT " ### NO SHIPS IN SIGHT ###" 5890 RETURN 5900 PRINT : LET Y=0: REM--- INPUT SHIP TO SHOOT AT ----- 5910 INPUT (2,0)" INPUT ship number to shoot at ----=>",E 5920 PRINT 5930 IF E=0 THEN PRINT "*** SHOOTING ABORTED ***": RETURN 5940 IF EQ+Q1 THEN PRINT "NUMBER TOO HIGH"; 5950 IF E>Q+Q1 OR E0 THEN RETURN 5980 GOSUB 7000: PRINT " ### HAS BEEN SUNK ###" 5990 LET Y=1: RETURN 6000 PRINT "&K": REM======== SURFACE THE SEAWOLF ========= 6010 IF S<3 THEN PRINT ,"### ";S$;" SURFACING ###&J" 6020 IF S=3 THEN GOSUB 8800 6030 IF S=3 THEN IF RND(0)>.93 THEN GOSUB 8900 6040 PRINT 6050 LET S1=10: PRINT "&J### SHIP REPORT ###&J" 6060 GOSUB 5700 6070 LET A=0: LET S=3 6095 GOTO 3000 6100 PRINT "* ";S$;: REM======= PERISCOPE SCAN ========== 6110 IF S<2 THEN PRINT " rising to"; 6120 IF S=3 THEN PRINT " diving to"; 6130 IF S=2 THEN PRINT " at"; 6140 PRINT " periscope depth *" 6150 LET S=2: PRINT : LET S1=25 6160 GOSUB 5700 6195 GOTO 3000 6200 REM========== WAIT FOR JAPS TO MOVE ========== 6210 LET M=2 6220 IF S<3 THEN LET A=0 6295 GOTO 3000 6300 LET Y=0: LET E=1: REM======== FIRE DECK GUN ============ 6310 IF S<3 THEN PRINT ,"### YOUR UNDER WATER ###": GOTO 3000 6315 IF S2<1 THEN PRINT ,"<=> Your out of shells <=>": GOTO 3000 6320 GOSUB 5800 6325 IF N>1 THEN GOSUB 5700 6330 IF Y=1 OR E=0 THEN 5000 ELSE LET S2=S2-1 6340 PRINT ,,"### B A M ###": PRINT : LET X=E 6350 PRINT " ";S$;" is firing at the ";: GOSUB 7000: PRINT 6360 LET E1=200: IF S(E)<0 THEN LET E1=-300 6370 GOSUB 8000 6375 IF RND(0)>.9 THEN GOSUB 8900 6380 IF N>0 THEN 3000 6390 PRINT "&J&[&A&I ## THAT'S ALL FOR TODAY ##" 6395 GOTO 6500 6400 REM============ FIRE TORPEDOES =========== 6410 GOSUB 5800 6415 IF N>1 THEN GOSUB 5700 6420 IF Y=1 OR E=0 THEN 5000 6430 PRINT ,S$;" torpedoes left: ";T: PRINT 6440 INPUT (1,0)" INPUT no. of torpedoes to fire ---=>",Z 6445 PRINT : IF Z<0 THEN PRINT "## FIRING CANCELLED ##": GOTO 5000 6450 IF Z>T THEN LET Z=T 6455 IF Z>6 THEN LET Z=6 6460 LET T=T-Z: PRINT ,"+ + +";Z;" FISH UNDER WAY + + +" 6465 PRINT : LET A=1: LET X=0: LET H=0 6470 IF S<2 THEN PRINT "&J",Z;" * Torpedoes wasted at ";S1;F$ 6475 IF S<2 THEN 3000 6480 IF R(E)>5000 THEN LET X=INT(R(E)/1000)-5 6485 LET H=INT(RND(0)*(Z-X)+.5): IF R(E)<=1000 THEN LET H=Z 6490 LET X=E: GOSUB 8400 6495 GOTO 3000 6500 REM======= WAIT 1 DAY ========= 6510 IF S=1 THEN LET S1=INT(RND(0)*10)*25+100 6520 IF S=3 THEN LET S1=INT((RND(0)*10)+10)*10: LET S=2 6530 IF S=3 THEN PRINT S$;" dove safely to ";S1;F$ 6540 LET N=0 6550 PRINT "&J YOU'VE WAITED ONE DAY. ";D1;" days are left." 6595 GOTO 3000 6600 FOR X=1 TO 5: PRINT : NEXT : REM===== STATUS ====== 6605 PRINT ,S$;" status --- Mission #";M9: PRINT 6610 PRINT " You are operating in the ";: GOSUB 7700 6620 PRINT " with ";T;" torpedoes, ";S2;" shells and "; 6630 PRINT D1;" days left&J" 6640 PRINT ,"### YOU'VE SUNK ";K;" ships and" 6645 PRINT ,W;" tons of enemy shipping." 6650 PRINT ," on this mission # ";M9 6660 PRINT : IF M9<2 THEN 6690 6670 PRINT "### SINCE YOU STARTED, you've sunk"; 6680 PRINT " a total of ";L;" Jap ships.&J" 6690 PRINT ,"### YOUR DEPTH IS";S1;" ";F$;" ###" 6695 GOTO 5000 6700 GOSUB 7500: REM====== INFO ON HITS TO SINK SHIPS === 6790 GOTO 5200 6800 PRINT ,"*#* DIVE - DIVE *#*&J": LET X=S1 6810 LET Z=INT(RND(0)*10)*25+25: LET Y=INT(RND(0)*150)+450 6820 FOR S1=X TO Z+S1 STEP 25 6830 IF S1>=B THEN LET S1=B: EXIT 6880 6840 IF S1>Y THEN LET S=-5: EXIT 9000 6850 PRINT "*** ";S$;" ***";TAB(20);S1;F$ 6870 NEXT S1 6880 LET S=1 6890 IF S1=B THEN PRINT S$;" is on the bottom at ";S1;F$ 6895 GOTO 3000 6900 LET Z=0: REM==== SHIPS SUNK ==== 6910 GOSUB 6950: PRINT "&J You've sunk ";Z;" total ships" 6920 GOTO 3000 6950 FOR X=1 TO 50 6955 IF H(X)>0 THEN 6990 6960 LET Z=Z+1: GOSUB 7000: PRINT TAB(35);W(X);" tons." 6970 IF Z=12 OR Z=24 OR Z=36 THEN PRINT M$;: INPUT (1,200)I$ 6990 NEXT X 6995 RETURN 7000 LET I=T(X): REM: ####### ENEMY SHIP NAMES ####### 7010 IF I=1 THEN PRINT "DESTROYER ESCORT";: RETURN 7020 IF I=2 THEN PRINT "DESTROYER";: RETURN 7030 IF I=3 THEN PRINT "DESTROYER";: RETURN 7040 IF I=4 THEN PRINT "DESTROYER";: RETURN 7050 IF I=5 THEN PRINT "CORVETTE";: RETURN 7060 IF I=6 THEN PRINT "SUB CHASER";: RETURN 7070 IF I=7 THEN PRINT "Q-BOAT";: RETURN 7080 IF I=8 THEN PRINT "MYSTERY SHIP";: RETURN 7090 IF I=9 THEN PRINT "UNKNOWN SHIP";: RETURN 7100 IF I=10 THEN PRINT "TORPEDO BOAT";: RETURN 7110 IF I=11 THEN PRINT "PATROL BOAT";: RETURN 7120 IF I=12 THEN PRINT "FLEET SUPPLY SHIP";: RETURN 7130 IF I=13 THEN PRINT "SMALL FREIGHTER";: RETURN 7140 IF I=14 THEN PRINT "MERCHANT FREIGHTER";: RETURN 7150 IF I=15 THEN PRINT "TANKER";: RETURN 7160 IF I=16 THEN PRINT "TROOP TRANSPORT";: RETURN 7170 IF I=17 THEN PRINT "OIL TANKER";: RETURN 7180 IF I=18 THEN PRINT "LARGE TANKER";: RETURN 7190 IF I=19 THEN PRINT "OIL TANKER";: RETURN 7200 IF I=20 THEN PRINT "RUBBER FREIGHTER";: RETURN 7210 IF I=21 THEN PRINT "CARGO FREIGHTER";: RETURN 7220 IF I=22 THEN PRINT "AMMUNITION SHIP";: RETURN 7230 IF I=23 THEN PRINT "ORE TRANSPORT";: RETURN 7240 IF I=24 THEN PRINT "SUBMARINE TENDER";: RETURN 7250 IF I=25 THEN PRINT "SMALL CARGO SHIP";: RETURN 7260 IF I=26 THEN PRINT "GERMAN FREIGHTER";: RETURN 7270 IF I=27 THEN PRINT "FREIGHTER";: RETURN 7280 IF I=28 THEN PRINT "CARGO STEAMER";: RETURN 7290 IF I=29 THEN PRINT "STEAMER";: RETURN 7300 IF I=30 THEN PRINT "FLEET OILER";: RETURN 7310 IF I=31 THEN PRINT "MINESWEEPER";: RETURN 7320 IF I=32 THEN PRINT "FISHING BOAT";: RETURN 7330 IF I=33 THEN PRINT "NATIVE BOAT";: RETURN 7340 IF I=34 THEN PRINT "JAP LANDING CRAFT";: RETURN 7350 IF I=35 THEN PRINT "TUG BOAT";: RETURN 7360 IF I=36 THEN PRINT "BANANNA BOAT";: RETURN 7370 IF I=37 THEN PRINT "MINE-LAYER";: RETURN 7380 IF I=38 THEN PRINT "BARGE";: RETURN 7390 IF I=39 THEN PRINT "SAMPAN";: RETURN 7400 IF I=40 THEN PRINT "CHINESE JUNK";: RETURN 7410 IF I=41 THEN PRINT "<#> BUNGO PETE <#>";: RETURN 7420 IF I=42 THEN PRINT "LARGE JAP FREIGHTER";: RETURN 7430 IF I=43 THEN PRINT "LARGE PATROL BOAT";: RETURN 7440 IF I=44 THEN PRINT "JAP SUBMARINE";: RETURN 7450 IF I=45 THEN PRINT "SMALL AIRCRAFT CARRIER";: RETURN 7460 IF I=46 THEN PRINT "BATTLESHIP";: RETURN 7470 IF I=47 THEN PRINT "AIRCRAFT CARRIER";: RETURN 7480 IF I=48 THEN PRINT "HEAVY CRUISER";: RETURN 7490 IF I>48 THEN PRINT "LIGHT CRUISER"; 7495 RETURN 7500 REM============= SHIP TYPES ============== 7510 PRINT "BATTLESHIPS";TAB(30);"7-10" 7520 PRINT "AIRCRAFT CARRIERS";TAB(30);"4-6" 7530 PRINT "CRUISERS";TAB(30);"3-4" 7540 PRINT "DESTROYERS";TAB(30);"1-2" 7550 PRINT "DESTROYER ESCORTS";TAB(30);1 7560 PRINT "ANTI-SUB SHIPS";TAB(30);"1-5" 7570 PRINT "CARGO OR TRANSPORT SHIPS";TAB(30);"1-3" 7575 PRINT "STEAMERS OR AMMO SHIPS";TAB(30);"1-2" 7580 PRINT "FREIGHTERS";TAB(30);"2-3" 7585 PRINT "TANKERS & OILERS";TAB(30);"2-3" 7590 PRINT "WORTHLESS SHIPS";TAB(30);1 7595 RETURN 7600 REM===== PRINT OUT SHIP TYPE RECORD === 7610 IF X=1 THEN PRINT "BATTLESHIPS: "; 7620 IF X=2 THEN PRINT "AIRCRAFT CARRIERS: "; 7630 IF X=3 THEN PRINT "CRUISERS: "; 7660 IF X=6 THEN PRINT "ANTI-SUB SHIPS: "; 7670 IF X=7 THEN PRINT "CARGO OR TRANSPORTS: "; 7680 IF X=8 THEN PRINT "STEAMERS OR AMMO SHIPS: "; 7685 IF X=9 THEN PRINT "FREIGHTERS: "; 7690 IF X=10 THEN PRINT "MISC. WORTHLESS SHIPS: "; 7692 IF X=12 THEN PRINT "JAP SUBMARINES: "; 7695 RETURN 7700 REM++++++++++ NAME OF YOUR OPERATING AREA +++++++++++ 7710 IF O=1 THEN PRINT "BUNGO STRAIT": RETURN 7720 IF O=2 THEN PRINT "SEA OF JAPAN": RETURN 7730 IF O=3 THEN PRINT "OFF TOKYO BAY": RETURN 7740 IF O=4 THEN PRINT "CORAL SEA": RETURN 7750 IF O=5 THEN PRINT "LEYTE GULF": RETURN 7760 IF O=6 THEN PRINT "CELEBES SEA": RETURN 7770 IF O=7 THEN PRINT "JAVA SEA": RETURN 7780 IF O=8 THEN PRINT "SOLOMONS #SLOT#": RETURN 7790 IF O=9 THEN PRINT "SULU SEA": RETURN 7800 IF O=10 THEN PRINT "BISMARCK ARCH": RETURN 7810 IF O=11 THEN PRINT "CAROLINE ISLAND AREA": RETURN 7820 IF O=12 THEN PRINT "MALLACCA STRAIT": RETURN 7830 IF O=13 THEN PRINT "SOUTH CHINA SEA": RETURN 7840 IF O=14 THEN PRINT "EAST CHINA SEA": RETURN 7850 IF O=15 THEN PRINT "FORMOSA BALIN CHANNEL": RETURN 7860 IF O=16 THEN PRINT "YELLOW SEA": RETURN 7895 RETURN 7900 PRINT "&J* * * * * JAP SHIPS SUNK * * * * *&J" 7910 FOR X=1 TO 50 7920 GOSUB 7000 7930 PRINT TAB(35);"tonnage: ";W(X) 7940 NEXT X 7945 RETURN 8000 LET E2=INT(RND(0)*(R(E)-E2)+E2)+INT(RND(0)*25)+(E1) 8010 IF L(E)<7 THEN LET E2=E2-INT((RND(0)*10+1)*5) 8020 IF ABS(R(E)-E2)<1800 THEN LET E2=R(E) 8030 IF R(E)>15000 THEN IF R(E)=15000>R(E)-E2 THEN LET E2=15000 8040 IF ABS(R(E)-E2)>30 THEN PRINT " * SPLASH *" 8050 IF ABS(R(E)-E2)<=30 THEN PRINT " # BOOM #" 8060 LET X=E: GOSUB 7000 8070 IF ABS(R(E)-E2)>30 THEN PRINT " missed by ";R(E)-E2;Y$ 8080 IF ABS(R(E)-E2)<=30 THEN PRINT " <#> H I T <#>" 8090 IF R(E)>15000 THEN GOSUB 7000: PRINT " * IS OUT OF GUN RANGE *" 8100 LET H=0: IF ABS(R(E)-E2)<31 THEN LET H=RND(0) 8110 IF H>0 THEN IF L(E)=10 THEN LET H=H*5 8120 IF H>0 THEN LET H(E)=H(E)-H 8130 IF T(E)=22 THEN IF H(E)<-.3 THEN 8150 8140 GOTO 8200 8150 PRINT ,"+*#*+ B A A V A R O O O M N +*#*+&J" 8160 LET Z=RND(0) 8170 IF Z<.4 THEN PRINT "MAN .... WHAT AN EXPLOSION !!!" 8180 IF Z>.6 THEN PRINT "WOW .... WHAT A FIREWORKS SHOW!!" 8190 IF Z>.4 AND Z<.6 THEN PRINT ".... IT'S A JAP FIREBALL!!" 8200 LET Z=INT(RND(0)*10): IF H(E)<1 THEN GOSUB 7000 8210 IF H(E)>.6 THEN IF H(E)<1 THEN PRINT " listing..." 8220 IF H(E)>.25 THEN IF H(E)<.65 THEN PRINT " +++ SMOKING +++" 8230 IF H(E)<.3 THEN PRINT ," *+* BURNING *+*" 8240 IF H(E)<=0 THEN 8300 8245 IF H<=0 THEN 8300 8250 PRINT 8260 IF Z>8 THEN PRINT TAB(8);"*** GOOD HIT ***" 8270 IF Z=5 THEN GOSUB 7000: PRINT " ... Hit near the water line" 8280 IF H(E)<.1 THEN PRINT " *** WHAT A FLOATING WRECK !! ***" 8300 IF H(E)>0 THEN 8390 8310 PRINT ,: GOSUB 7000: PRINT " * SINKING *" 8320 GOSUB 8650 8390 LET A=1 8395 RETURN 8400 LET Z=RND(0): REM---------- HITS MESSAGE DISPLAY ----- 8410 IF H>0 THEN LET H(E)=H(E)-H: GOTO 8430 8420 GOSUB 7000: PRINT " >+< MISSED >+<": GOTO 8600 8430 PRINT ,"#### B O O M ####&J" 8450 IF RND(0)>.06 THEN 8480 8460 PRINT ,"**** WHAT A LUCKY HIT ****&J" 8470 LET H(E)=INT(RND(0)*4)-3 8480 PRINT H;" HIT";: IF H>1 THEN PRINT "S "; 8490 PRINT " ON THE ";: GOSUB 7000: PRINT 8500 PRINT ,: GOSUB 7000 8510 IF H(E)>6 THEN PRINT " FELT THAT !" 8520 IF H(E)>3 AND H(E)<7 THEN PRINT " ...Dented" 8530 IF H(E)>0 AND H(E)<4 THEN PRINT " DAMAGED!" 8550 IF H(E)=0 THEN PRINT " * S U N K *" 8560 IF H(E)>=-1 AND H(E)<0 THEN PRINT " *+* SUNK *+*" 8570 IF H(E)>=-2 AND H(E)<-1 THEN PRINT " *#* C R E A M E D *#*" 8580 IF H(E)>=-3 AND H(E)<-2 THEN PRINT " @#@ BLOWN TO PIECES @#@" 8590 IF H(E)<-3 THEN PRINT " #### JUST BLOWN TO HELL ####" 8600 IF R(E)>=11000 THEN GOSUB 7000 ELSE 8620 8610 PRINT " IS OUT OF TORPEDO RANGE !!" 8620 IF H(E)>0 THEN 8690 8650 LET N=N-1: LET K=K+1: LET L=L+1 8660 LET W=W+W(E): LET K(L(E))=K(L(E))+1 8690 RETURN 8800 PRINT "&J ";S$;" moving 250 ";Y$;".. towards ships.&J" 8810 FOR X=Q TO Q+(Q1-1) 8820 LET R(X)=R(X)-250 8830 NEXT X 8890 RETURN 8900 IF Q+Q1<50 THEN LET Q1=Q1+1: REM....NEW SHIPS APPEAR 8910 LET X=Q+Q1-1: IF X>51 THEN 8990 8930 IF H(X)<=0 THEN 8990 8940 PRINT "&J","+++ LOOKOUT REPORT +++&J" 8950 PRINT ,"### ";: GOSUB 7000: PRINT " ###"; 8960 LET R(X)=INT((RND(0)*9)+10): LET R(X)=R(X)*1000 8970 PRINT TAB(35);" range: ";R(X) 8980 LET S(X)=ABS(S(X))*(-1): LET N=N+1 8990 RETURN 9000 IF S>-1 THEN 9200: REM--------- GAME OVER ----------- 9010 PRINT : PRINT 9020 PRINT ,"################################" 9030 PRINT ,"### ###" 9040 IF S>-3 THEN PRINT ,"### B L A A M M ###" 9050 IF S=-4 THEN PRINT ,"### C R A A S H ###" 9060 IF S=-5 THEN PRINT ,"### C R U N C H ###" 9070 PRINT ,"### ###" 9080 PRINT ,"################################" 9090 PRINT "&J&J";S$;" HAS BEEN SUNK BY "; 9100 IF S=-1 THEN PRINT "GUNFIRE" 9110 IF S=-2 THEN PRINT "DEPTH CHARGES" 9120 IF S=-3 THEN PRINT "TORPEDOES" 9130 IF S=-4 THEN PRINT "RAMMING !" 9140 IF S=-5 THEN PRINT "PRESSURE at a depth of ";S1;F$ 9150 PRINT "&J Do you want to try AGAIN ? (Y=Yes N=No)--=>"; 9160 INPUT (1,200)I$ 9170 PRINT "&K&J&J&J" 9180 IF I$="Y" THEN CLEAR : RESTORE : GOTO 100 9190 GOTO 9630 9200 FOR X=1 TO 5: PRINT : NEXT X 9210 PRINT ,"*** CONGRATULATIONS ";S$;" ***&J" 9220 PRINT ,"ON THE END OF A SUCCESSFUL MISSION # ";M9 9230 LET M9=M9+1: PRINT : PRINT 9240 IF T<1 THEN PRINT ,"*** ALL TORPEDOES WERE SHOT ***&J" 9250 IF D1>0 THEN 9270 9260 PRINT "*** YOU ARE OUT OF SAILING DAYS ***&J" 9270 PRINT "&JDo you want to see your log? ---=>"; 9280 LET Z=0: LET Z1=0: INPUT (1,0)I$ 9285 IF I$="N" THEN PRINT "&K&J": GOTO 9300 9290 GOSUB 6950: PRINT "&J You've sunk ";Z;" total ships" 9300 PRINT "&J Do you want to see your previous totals" 9310 INPUT (1,0)" (Y=Yes N=No)--=>",I$ 9320 IF I$="N" THEN 9500 ELSE PRINT "&K&J" 9330 PRINT "&J&[&A&I *** SHIP TYPES SUNK ***&J" 9340 LET Z=0: LET Z1=0 9400 FOR X=1 TO 12 9410 IF K(X)<=0 THEN 9480 9420 PRINT TAB(9);: GOSUB 7600: PRINT TAB(40);K(X) 9450 LET Z=Z+K(X): LET Z1=Z1+W(X) 9480 NEXT X 9490 PRINT "***** ";Z;" ***** SHIPS SUNK. ### ";Z1;" ### tons" 9500 PRINT "&J Do you want to try AGAIN ? (Y=Yes N=No)--=>"; 9510 INPUT (1,200)I$ 9520 IF M9>10 THEN 9600 9530 IF I$="Y" THEN RESTORE : GOTO 300 9540 GOTO 9630 9600 PRINT "&J&[&A&I*** IT IS AUG. 1945 ***&J" 9610 PRINT "### JAPAN HAS SURRENDERED ###&J" 9620 PRINT " ### SEAWOLF IS BEING MOTHBALLED ###&J" 9630 PRINT "*** You leave the NAVY with a record of ";L; 9640 PRINT " enemy ships. ***" 9650 PRINT ,"*** Total tonnage was: ";W 9900 END