image of READY prompt

Wang2200.org

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