10 CLEAR300 20 ONERRORGOTO550 30 P$=CHR$(10)+STRING$(10,8) 40 S$=SPACE$(10)+P$+" "+CHR$(235)+" "+P$+" "+STRING$(2,239)+" "+P$+" " 50 S$=S$+CHR$(252)+STRING$(6,239)+CHR$(254)+" "+P$+" "+CHR$(253)+STRING$(6,239)+CHR$(251)+" "+P$+" " 60 CLS:PRINT@40,S$:FORZ=1TO300:NEXT 70 FORZ=40TO320STEP40 80 PRINT@Z,S$ 90 NEXT 100 T$=" SINK THE SUBMARINE" 110 FORX=1TO2 120 FORZ=489TO518 130 PRINT@Z," "+CHR$(232) 140 PRINT@Z,MID$(T$,Z-488,1) 150 NEXTZ:PRINT@518," ":FORY=1TO500:NEXTY 160 T$=" by Joe Wasserman 73117,3600" 170 NEXTX:CLS 180 PRINT"There is an enemy sub within 50 to 200 miles of your ship.":PRINT 190 PRINT"You have 12 missiles to destroy it but your sonar is being jammed. It can tell by how much you missed the sub but not" 200 PRINT"the direction.":PRINT:PRINT"You must detonate within 3 miles of the sub to destroy it."; 210 PRINT" Enter RANGE and ANGLEand your computer will keep you posted of the co-ordinates of your closest hit." 220 PRINT@570,"Any Key to Continue" 230 I$=INKEY$:IFI$=""THEN230 240 CLS 250 LINE(35,42)-(120,127):LINE(120,6)-(120,127):LINE(205,42)-(120,127) 260 PRINT@164,"45";:PRINT@636,"180";:PRINT@600,"0";:PRINT@235,"135";:PRINT@19,"90"; 270 PRINT@0,"RANGE":PRINT@23,"ANGLE":PRINT@69,"Miss>" 280 RESTORE:FORZ=1TO37:READX1:READY1:PSET(X1,Y1):NEXT 290 POKE63277,PEEK(61983):FORZ=1TOVAL(RIGHT$(TIME$,2)):X=RND(1):NEXT 300 R1=INT(RND(1)*151+50):A1=INT(RND(1)*180+1) 310 CL=400:FORU=1TO12:PRINT@80,USING"READY ##";U 320 PRINT@5,"";:INPUTR:IFR<50ORR>200THENPRINT@6," ":GOTO320 330 PRINT@28,"";:INPUTA:IFA<0ORA>180THENPRINT@29," ":GOTO330 340 X=R*.6*COS(A*.0174533):Y=R*.6*SIN(A*.0174533) 350 LINE(118-X,127-Y)-(122-X,127-Y):LINE(120-X,127-Y)-(120-X,125-Y) 360 PRINT@80,CHR$(27)"p"" FIRE "CHR$(27)"q":FORZ=4000TO9000STEP100:SOUNDZ,1:SOUNDZ-1000,1:NEXTZ 370 D=SQR(R*R+R1*R1-(2*R*R1*COS((A-A1)*.0174533))):IFD117THENX=117 440 IFX<-116THENX=-116 450 IFY<3THENY=3 460 FORZ=1TO15 470 FORW=1TO2 480 LINE(119-X,126-Y)-(121-X,128-Y),W,B:LINE(118-X,125-Y)-(122-X,129-Y),W,B:LINE(117-X,124-Y)-(123-X,130-Y),W,B 490 NEXTW 500 SOUND5E3,1 510 NEXTZ 520 PRINT@0,CHR$(27)"p"" SUB DESTROYED AT"R1"MILES"A1"DEGREES "CHR$(27)"q":FORZ=1TO1500:NEXT:GOTO240 530 DATA0,127,0,116,1,106,4,95,7,85,11,76,16,66,21,58,28,49,35,42,42,35,51,28,60,23,69,18,78,14,88,11,99,8,109,7,120,7,130,7,140 540 DATA8,151,11,161,14,170,18,180,23,188,28,197,35,204,42,211,49,218,58,223,67,228,76,232,85,235,95,238,106,239,116,239,127 550 IFERL=350THENRESUMENEXT 600 X=R1*.6*COS(A1*.0174533):Y=R1*.6*SIN(A1*.0174533):X=X+1*(X>=120):X=X-1*(X<=-119):Y=Y-1*(Y<=0) 610 FORZ=1TO10 620 FORV=1TO2 630 LINE(119-X,126-Y)-(121-X,128-Y),V,B 640 FORW=1TO35:NEXTW 650 NEXTV:SOUND4184,1 660 NEXTZ:LINE(119-X,126-Y)-(121-X,128-Y),1,B 670 RETURN