Listing of file='BATTLE' on disk='vmedia/more_games.wvd.zip'
# Sector 73, program filename = 'BATTLE' 0010 REM %*BATTLE* : LOAD DC T#6,"GAMES" 0020 DEFFN'17 0030 PRINT HEX(03) 0040 PRINT "THIS IS THE PROGRAM FOR BATTLESHIP,BY WILLIAM WOODS" 0050 PRINT "APRIL 26,1974." 0060 PRINT TAB(24);"--INSTRUCTIONS--" 0070 PRINT 0080 PRINT "THE COMPUTER WILL PLACE 10 SHIPS ON THE VIEWING SCREEN." 0090 PRINT "THE COMPUTER WILL PICK 3 SHIPS OUT OF THE 10 WHICH CAN BE HIT." 0100 PRINT "THE OTHER 7 SHIPS WILL BE UNSINKABLE,WILL BE CALLED MISSES" 0110 PRINT "BY THE COMPUTER. THE OBJECT OF THE GAME IS TO GET YOUR SUB," 0120 PRINT "REPRESENTED AS *,UNDER THE RIGHT SHIP AND TORPEDO IT" 0130 PRINT "PRESS HALT/STEP TO STOP.PRESS KEY 15 TO FIRE." 0140 S=INT(RND(R)*3+1) 0150 PRINT "PRESS EXECUTE" 0160 INPUT F4 0170 PRINT ATN(03) 0180 FOR R=1TO 20 0190 S=INT(RND(R)*3+1) 0200 PRINT HEX(03) 0210 FOR W1=1TO 100 0220 NEXT W1 0230 T=0 : M=0 : H=0 0240 E=0 : F=0 : J=0 0250 PRINT HEX(030A);TAB(28);"***>" 0260 PRINT HEX(010A0A);TAB(19);"***>";TAB(46);"***>" 0270 PRINT HEX(010A0A0A);TAB(39);"***>";TAB(55);"***>" 0280 PRINT HEX(010A0A0A0A);TAB(25);"***>" 0290 PRINT HEX(010A0A0A0A0A);TAB(5);"***>";TAB(41);"***>" 0300 PRINT HEX(010A0A0A0A0A0A);TAB(12);"***>";TAB(34);"***>" 0310 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A0A0A0A);"NUMBER OF SHOTS TAKEN **"; T ;"** NUMBER OF MISSES **"; M ;"**" 0320 FOR X=1TO 60 0330 FOR Y=1TO 5 0340 NEXT Y 0350 PRINT HEX(010A0A0A0A0A0A0A0A0A0A);TAB(X);"*" 0360 NEXT X 0370 GOTO 320 0380 DEFFN'15 0390 T=T+1 : GOTO 770 0400 PRINT HEX(010A0A0A0A0A0A0A0A0A0A);TAB(63);" " : IF S=1THEN 420 0410 IF S=2THEN 510 : IF S=3THEN 600 0420 IF X<5THEN 690 : IF X=6THEN 450 : IF X=7THEN 450 : IF X=8THEN 450 : IF X>8THEN 430 0430 IF X<34THEN 690 : IF X=35THEN 470 : IF X=36THEN 470 : IF X=37THEN 470 : IF X>38THEN 440 0440 IF X<56THEN 690 : IF X>58THEN 690 : GOTO 490 0450 PRINT HEX(010A0A0A0A0A);TAB(5);"BOOM" : E=E+1 : IF E>1THEN 460 : GOTO 1180 0460 E=1 : GOTO 1130 0470 PRINT HEX(010A0A0A0A0A0A);TAB(12);"***>";TAB(34);"BOOM" : F=F+1 : IF F>1THEN 480 : GOTO 1180 0480 F=1 : GOTO 1130 0490 PRINT HEX(010A0A0A);TAB(39);"***>";TAB(55);"BOOM" : J=J+1 : IF J>1THEN 500 : GOTO 1180 0500 J=1 : GOTO 1130 0510 IF X<12THEN 690 : IF X>15THEN 520 : GOTO 540 0520 IF X<25THEN 690 : IF X>28THEN 530 : GOTO 560 0530 IF X<46THEN 690 : IF X>49THEN 690 : GOTO 580 0540 PRINT HEX(010A0A0A0A0A0A);TAB(12);"BOOM" : E=E+1 : IF E>1THEN 550 : GOTO 1180 0550 E=1 : GOTO 1130 0560 PRINT HEX(010A0A0A0A);TAB(25);"BOOM" : F=F+1 : IF F>1THEN 570 : GOTO 1180 0570 F=1 : GOTO 1130 0580 PRINT HEX(010A0A);TAB(19);"***>";TAB(46);"BOOM" : J=J+1 : IF J>1THEN 590 : GOTO 1180 0590 J=1 : GOSUB 1130 : M=M+1 : GOTO 310 0600 IF X<19THEN 690 : IF X>22THEN 610 : GOTO 630 0610 IF X<41THEN 690 : IF X>44THEN 620 : GOTO 650 0620 IF X<55THEN 690 : IF X>58THEN 690 : GOTO 670 0630 PRINT HEX(010A0A);TAB(19);"BOOM" : E=E+1 : IF E>1THEN 640 : GOTO 1180 0640 E=1 : GOTO 1130 0650 PRINT HEX(010A0A0A0A0A);TAB(5);"***>";TAB(41);"BOOM" : F=F+1 : IF F>1THEN 660 : GOTO 1180 0660 F=1 : GOTO 1130 0670 PRINT HEX(010A0A0A);TAB(39);"***>";TAB(55);"BOOM" : J=J+1 : IF J>1THEN 680 : GOTO 1180 0680 J=1 : GOTO 1130 0690 M=M+1 0700 FOR V=1TO 2 0710 FOR K=1TO 3 0720 NEXT K 0730 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A0A);TAB(V);"****YOU MISSED****" 0740 NEXT V 0750 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A0A);TAB(63);" " 0760 GOTO 310 0770 IF X=13THEN 1070 : IF X=14THEN 1070 : IF X=15THEN 1070 0780 IF X=16THEN 1070 0790 IF X=35THEN 1070 : IF X=36THEN 1070 : IF X=37THEN 1070 0800 IF X=38THEN 1070 0810 IF X=6THEN 1080 : IF X=7THEN 1080 : IF X=8THEN 1080 0820 IF X=9THEN 1080 0830 IF X=42THEN 1080 : IF X=43THEN 1080 : IF X=44THEN 1080 0840 IF X=45THEN 1080 0850 IF X=26THEN 1090 : IF X=27THEN 1090 : IF X=28THEN 1090 0860 IF X=29THEN 1090 0870 IF X=40THEN 1100 : IF X=41THEN 1100 : IF X=42THEN 1100 0880 IF X=56THEN 1100 : IF X=57THEN 1100 : IF X=58THEN 1100 0890 IF X=43THEN 1100 : IF X=59THEN 1100 0900 IF X=20THEN 1110 : IF X=21THEN 1110 : IF X=22THEN 1110 0910 IF X=47THEN 1110 : IF X=48THEN 1110 : IF X=49THEN 1110 0920 IF X=23THEN 1110 : IF X=50THEN 1110 0930 IF X=29THEN 1120 : IF X=30THEN 1120 : IF X=31THEN 1120 0940 IF X=32THEN 1120 0950 G=9 0960 PRINT HEX(010A0A0A0A0A0A0A0A0A0A) 0970 FOR B=1TO G 0980 PRINT HEX(0C0C) : GOSUB 1240 : PRINT ":" 0990 NEXT B 1000 FOR A=1TO 50 1010 NEXT A 1020 PRINT HEX(010A0A0A0A0A0A0A0A0A0A) 1030 FOR C=1TO G 1040 PRINT HEX(0C0C) : GOSUB 1240 : PRINT " " 1050 NEXT C 1060 GOTO 400 1070 G=2 : GOTO 960 1080 G=3 : GOTO 960 1090 G=4 : GOTO 960 1100 G=5 : GOTO 960 1110 G=6 : GOTO 960 1120 G=7 : GOTO 960 1130 M=M+1 1140 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A);"YOU CAN NOT SINK THE SAME SHIP MORE THEN ONCE" 1150 S1$="**RUBBISH**" : GOSUB 1430 1160 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A);TAB(63);" " 1170 GOTO 310 1180 S1$="**SUNK**" : GOSUB 1430 1190 Q=E+F+J 1200 IF Q=3THEN 1210 : GOTO 310 1210 PRINT HEX(03) 1220 PRINT "VERY GOOD YOU SUNK ALL OF SINKABLE SHIPS" 1230 GOTO 1310 1240 U=X-1 1250 FOR D=1TO U 1260 PRINT HEX(09); 1270 NEXT D 1280 RETURN 1290 DEFFN'14 1300 PRINT HEX(03) 1310 PRINT "DO YOU WANT TO PLAY AGAIN";HEX(3F) 1320 INPUT "(YES=1,NO=0)",P 1330 IF P<0THEN 1310 1340 IF P=0THEN 1400 1350 PRINT "DO YOU WANT THE INSTRUCTIONS AGAIN";HEX(3F) 1360 INPUT "YES=1;NO=0",N 1370 IF N<0THEN 1350 1380 IF N=0THEN 170 1390 IF N>0THEN 30 1400 PRINT "GOOD-BY" 1410 S1$="**GOOD-BY**" : GOSUB 1430 1420 GOTO 1540 : GOTO 10 1430 GOSUB 1510 : PRINT STR(L$,1,14) 1440 FOR I7=1TO 5 1450 FOR I8=1TO 40 1460 PRINT TAB(I8);S1$;" ";HEX(0D); : NEXT I8 1470 FOR I8=40TO 1STEP -1 1480 PRINT TAB(I8);S1$;" ";HEX(0D); : NEXT I8 1490 NEXT I7 1500 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A0A0A);TAB(63);" " 1510 DIM L$(16) 1520 L$=HEX(010A0A0A0A0A0A0A0A0A0A0A0A0A0A0A) 1530 RETURN 1540 PRINT HEX(03);"STANDBY" 1580 RETURN