image of READY prompt

Wang2200.org

Listing of file='BOWLING ' on disk='vmedia/more_games.wvd.zip'

# Sector 216, program filename = 'BOWLING'
0010 REM *BOWLING
0020 DIM H$(18,33)1
0030 DIM Z(5,10)
0040 DIM A$64,P(10),F$(12)1,S(10)
0050 GOTO 100
0060 I=2
0070 I=I+1
   : PRINT TAB(I-3);HEX(282828302929290C)
   : KEYIN A$,90,90
0080 IF I<50THEN 70
0090 GOTO 430
0100 PRINT HEX(03);TAB(15);"*** BOWLING ***"
0110 PRINT "MAX NUMBER OF PLAYERS IS 10-MAX STRINGS IS 5"
0120 INPUT "NUMBER OF PLAYERS",P1
   : PRINT
0130 IF P1>10 THEN 110
0140 INPUT "NUMBER OF STRINGS",S1
   : PRINT
0150 IF S1>5 THEN 110
0160 FOR S2=1TO 5
   : FOR P2=1TO 10
   : Z(S2,P2)=0
   : NEXT P2
   : NEXT S2
0170 S2=1
   : P2=1
0180 IF K=1THEN 200
   : FOR I=1TO 18
   : READ A$
   : FOR J=1TO 33
0190 H$(I,J)=STR(A$,J,1)
   : NEXT J
   : NEXT I
   : K=1
0200 FOR J=1TO 12
   : F$(J)=" "
   : IF J>10THEN 210
   : S(J)=0
0210 NEXT J
0220 PRINT HEX(030A0A)
0230 PRINT TAB(5);"FRAME";
0240 PRINT TAB(16);"1   2   3   4   5   6   7   8   9  10"
0250 F,X=0
0260 REM          RESET
0270 C=1
   : B=1
   : F=F+1
0280 FOR J=1TO 10
   : P(J)=1
   : NEXT J
0290 GOSUB '33(6,0,10)
0300 PRINT TAB(19);"777     888     999     000"
0310 PRINT TAB(23);"444     555     666"
0320 PRINT TAB(27);"222     333"
0330 PRINT TAB(31);"111"
0340 REM          ROLL BALL
0350 GOSUB '33(0,0,2)
0360 J=B
   : H=F
   : IF F<=10THEN 370
   : H=10
   : J=F-9
   : IF F$(10)<>"/"THEN 370
   : J=3
0370 PRINT "KEY (EXEC) TO ROLL BALL";J;" OF FRAME";H;
0380 INPUT A$
0390 REM          MOVE CURSOR
0400 GOSUB '33(0,0,2)
0410 GOSUB '33(12,0,0)
0420 GOTO 60
0430 DEFFN'15
0440 IF I<16 THEN 1050
0450 IF I>48 THEN 1050
0460 H$=H$(C,I-15)
0470 IF H$="A"THEN 1050
0480 IF H$<>"B" THEN 510
0490 P(7)=0
   : C=2
0500 GOTO 1050
0510 IF H$<>"C"THEN 540
0520 P(10)=0
   : C=18
0530 GOTO 1050
0540 IF H$<>"D"THEN 570
0550 P(6),P(9),P(10)=0
   : C=17
0560 GOTO 1050
0570 IF H$<>"E"THEN 600
0580 FOR J=1TO 10
   : P(J)=0
   : NEXT J
0590 GOTO 1050
0600 IF H$<>"F"THEN 630
0610 P(1),P(2),P(3),P(4),P(5),P(7),P(8),P(9)=0
   : C=8
0620 GOTO 1050
0630 IF H$<>"G"THEN 660
0640 P(3),P(6),P(9),P(10)=0
   : C=16
0650 GOTO 1050
0660 IF H$<>"H" THEN 690
0670 P(1),P(2),P(3),P(5),P(6),P(8),P(9),P(10)=0
   : C=12
0680 GOTO 1050
0690 IF H$<>"I" THEN 720
0700 P(4),P(7),P(8)=0
   : C=3
0710 GOTO 1050
0720 IF H$<>"J" THEN 750
0730 FOR J=1TO 9
   : P(J)=0
   : NEXT J
   : C=9
0740 GOTO 1050
0750 IF H$<>"K" THEN 780
0760 P(1),P(2),P(4),P(7)=0
0770 GOTO 1050
0780 IF H$<>"L" THEN 810
0790 P(1),P(2),P(3),P(4),P(5),P(6),P(8),P(9),P(10)=0
   : C=11
0800 GOTO 1050
0810 IF H$<>"M" THEN 840
0820 P(3),P(5),P(6),P(9),P(10)=0
   : C=15
0830 GOTO 1050
0840 IF H$<>"N" THEN 870
0850 P(3),P(5),P(6),P(8),P(9),P(10)=0
   : C=14
0860 GOTO 1050
0870 IF H$<>"O" THEN 900
0880 P(2),P(4),P(7),P(8)=0
   : C=4
0890 GOTO 1050
0900 IF H$<>"P" THEN 930
0910 P(2),P(4),P(5),P(7),P(8)=0
   : C=5
0920 GOTO 1050
0930 IF H$<>"Q" THEN 960
0940 P(1),P(3),P(6),P(10)=0
0950 GOTO 1050
0960 IF H$<>"R" THEN 990
0970 P(1),P(2),P(3),P(4),P(5),P(6),P(8),P(9)=0
   : C=10
0980 GOTO 1050
0990 IF H$<>"S" THEN 1020
1000 P(2),P(4),P(5),P(7),P(8),P(9)=0
   : C=6
1010 GOTO 1050
1020 IF H$<>"T" THEN 1040
   : P(1),P(2),P(3),P(4),P(5),P(7),P(8)=0
1030 C=7
   : GOTO 1050
1040 P(1),P(2),P(3),P(5),P(6),P(9),P(10)=0
   : C=13
1050 P=0
1060 FOR J=1TO 10
1070    IF P(J)=1THEN 1080
   : P=P+1
1080 NEXT J
1090 IF B>1THEN 1240
1100 IF P<10THEN 1290
1110 F$(F)="X"
   : IF F<>11THEN 1160
1120 S(10)=S(10)+10
1130 IF F$(10)<>"/"THEN 1140
   : X=2
   : GOTO 1400
1140 IF F$(9)<>"X"THEN 1150
   : S(9)=S(9)+10
1150 GOSUB 1400
   : GOTO 260
1160 IF F<12THEN 1180
   : S(10)=S(10)+10
   : X=2
   : IF F$(11)="X"THEN 1400
1170 F$(12)="/"
   : GOTO 1400
1180 S(F)=10
1190 IF F=1THEN 1230
   : IF F$(F-1)="X"THEN 1210
1200 IF F$(F-1)<>"/"THEN 1230
   : S(F-1)=S(F-1)+10
   : GOTO 1230
1210 S(F-1)=S(F-1)+10
1220 IF F=2THEN 1230
   : IF F$(F-2)<>"X"THEN 1230
   : S(F-2)=S(F-2)+10
1230 GOSUB 1400
   : GOTO 260
1240 S(F)=P
1250 IF F=1THEN 1260
   : IF F$(F-1)<>"X"THEN 1260
   : S(F-1)=S(F-1)+P
1260 IF P<10THEN 1270
   : F$(F)="/"
1270 IF F<10THEN 1280
   : IF F$(10)="/"THEN 1280
   : X=2
   : GOTO 1400
1280 GOSUB 1400
   : GOTO 260
1290 IF F=11THEN 1360
1300 IF F<>12THEN 1310
   : S(10)=S(10)+P
   : X=2
   : GOTO 1400
1310 IF F=1THEN 1390
1320 IF F$(F-1)<>"/"THEN 1330
   : S(F-1)=S(F-1)+P
   : GOTO 1390
1330 IF F=2THEN 1390
1340 IF F$(F-1)<>"X"THEN 1390
1350 IF F$(F-2)<>"X"THEN 1390
   : S(F-2)=S(F-2)+P
   : GOTO 1390
1360 IF F$(10)="X"THEN 1370
   : S(10)=S(10)+P
   : X=2
   : GOTO 1400
1370 IF F$(9)<>"X"THEN 1380
   : S(9)=S(9)+P
1380 GOSUB 1400
   : F=12
   : GOTO 340
1390 GOSUB 1400
   : B=2
   : GOTO 340
1400 GOSUB '33(12,0,1)
1410 GOSUB '33(15,I,0)
1420 SELECT P9
1430 FOR J=1TO 6
1440  PRINT "^";
1450  PRINT HEX(080C);
1460 NEXT J
1470 SELECT P
1480 GOSUB '33(6,0,10)
1490 IF F$(F)<>"/"THEN 1540
1500 PRINTUSING 1510
   : PRINTUSING 1520
   : PRINTUSING 1520
   : PRINTUSING 1510
1510 %      //////////////////////////////////////////////
1520 %     /   SPARE    SPARE    SPARE    SPARE    SPARE   /
1530 GOTO 1830
1540 IF F$(F)<>"X"THEN 1590
1550 %     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1560 %    X     STRIKE    STRIKE    STRIKE    STRIKE     X
1570 PRINTUSING 1550
   : PRINTUSING 1560
   : PRINTUSING 1560
   : PRINTUSING 1550
1580 GOTO 1830
1590 IF P(7)=0 THEN 1610
1600 PRINT TAB(19);"777";
1610 IF P(8)=0 THEN 1630
1620 PRINT TAB(27);"888";
1630 IF P(9)=0 THEN 1650
1640 PRINT TAB(35);"999";
1650 IF P(10)=0 THEN 1670
1660 PRINT TAB(43);"000";
1670 PRINT
1680 IF P(4)=0THEN 1700
1690 PRINT TAB(23);"444";
1700 IF P(5)=0 THEN 1720
1710 PRINT TAB(31);"555";
1720 IF P(6)=0 THEN 1740
1730 PRINT TAB(39);"666";
1740 PRINT
1750 IF P(2)=0 THEN 1770
1760 PRINT TAB(27);"222";
1770 IF P(3)=0 THEN 1790
1780 PRINT TAB(35);"333";
1790 PRINT
1800 IF P(1)=0 THEN 1820
1810 PRINT TAB(31);"111"
1820 REM SCORE
1830 IF F>10THEN 1840
   : M=(F+3)*4-1
   : GOTO 1860
1840 M=53
   : IF F$(11)<>"X"THEN 1860
1850 M=53+(F-11)*2
1860 GOSUB '33(3,M,0)
1870 IF P>0THEN 1880
   : PRINT " -"
   : GOTO 1910
1880 IF F$(F)<>"X"THEN 1890
   : PRINT " X"
   : GOTO 1910
1890 IF F$(F)<>"/"THEN 1900
   : PRINT " /"
   : GOTO 1910
1900 PRINT P
1910 J=0
1920 J=J+1
1930 IF F<JTHEN 2020
1940   IF F$(J)="X"THEN 1960
   : IF F$(J)="/"THEN 1970
1950   IF J<FTHEN 1980
   : IF B=2THEN 1980
   : GOTO 2020
1960   IF J+2<=FTHEN 1980
   : IF B=2THEN 1980
   : GOTO 2020
1970   IF J+1<=FTHEN 1980
   : GOTO 2020
1980   H=0
   : FOR I=1TO J
   : H=S(I)+H
   : NEXT I
1990   PRINT TAB((J+3)*4-2);
   : PRINTUSING 2000,H;
2000 %###
2010 IF J<10 THEN 1920
2020 IF X=2THEN 2030
   : RETURN
2030 REM    END OF GAME
2040 GOSUB '33(0,0,2)
2050 GOSUB '33(5,0,11)
2060 GOSUB '33(5,20,0)
2070 PRINT "FINAL SCORE     ";H
   : IF P1>1THEN 2120
2080 IF H1<H THEN 2090
   : PRINT TAB(20);"THE HIGH IS ";H1
   : GOTO 2110
2090 PRINT TAB(20);"A NEW HIGH!!!!"
2100 PRINT TAB(20);"THE OLD HIGH WAS  ";H1
   : H1=H
2110 PRINT
   : PRINT
   : PRINT
2120 Z(S2,P2)=H
   : P2=P2+1
   : IF P2>P1 THEN 2390
2130 PRINT
   : PRINT
   : PRINT
2140 PRINT "STRING ";S2;"  PLAYER ";P2
2150 INPUT "KEY (EXEC) TO BOWL STRING",A1
2160 GOTO 180
2170 DEFFN'33(L,M,N)
2180 IF N<1 THEN 2270
2190 GOSUB 2270
2200 SELECT PRINT 205
2210 A$=" "
2220 PRINT STR(A$,M+1)
2230 IF N<2 THEN 2270
2240 FOR A=2TO N
2250 PRINT HEX(0A);STR(A$,1)
2260 NEXT A
2270 SELECT PRINT 405
2280 PRINT HEX(01)
2290 IF M<1 THEN 2330
2300 FOR A=1TO M
2310 PRINT HEX(09)
2320 NEXT A
2330 IF L<1 THEN 2370
2340 FOR A=1TO L
2350 PRINT HEX(0A)
2360 NEXT A
2370 SELECT PRINT 005
2380 RETURN
2390 PRINT
   : PRINT "***********************************"
2400 PRINT "** SCORE AT THE END OF STRING";S2;" **"
   : PRINT
   : PRINT
   : P2=1
2410 FOR M=1TO P1
   : T=Z(1,M)+Z(2,M)+Z(3,M)+Z(4,M)+Z(5,M)
2420 PRINT "PLAYER";M;"   ";Z(1,M);Z(2,M);Z(3,M);Z(4,M);Z(5,M);" *TOTAL=";T;"*
     ";"AVG.=";T/S2+1
2430 NEXT M
   : PRINT
   : PRINT "***********************************"
2440 S2=S2+1
   : IF S2<=S1 THEN 2140
2441 INPUT "DO YOU WANT TO PLAY AGAIN, Y/N"Z$
2442 IF Z$="N"OR Z$="n"  THEN LOAD RUN "GAMES"
2443 IF Z$<>"Y"AND Z$<>"y"THEN 2441
2444 GOTO 180
2450 PRINT "*****END OF GAME*****                         "
2460 GOTO 100
2470 DATA "BBBBIIIIOOPSTFEJRLEHUNMGGDDDDCCCC"
2480 DATA "AAAAIIIIOOPSTFEJJEEHUNMGGDDDDCCCC"
2490 DATA "AAAAAAAAOOPSTFEJJEEEEMMGGDDDDCCCC"
2500 DATA "AAAAAAAAAAAATFEJJEEEEMMGGDDDDCCCC"
2510 DATA "AAAAAAAAAAAATFEQJEEEEGGGGDDDDCCCC"
2520 DATA "AAAAAAAAAAAAFFEJJEEEEGGGGDDDDCCCC"
2530 DATA "AAAAAAAAAAAAAAAAFFFFEEEEEEEEECCCC"
2540 DATA "AAAAAAAAAAAAAAAAAAAAEEEEEEEEECCCC"
2550 DATA "AAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEE"
2560 DATA "EBBBBBBBBAAAAAAAAAAAAAAACCCCCCCCE"
2570 DATA "EEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAA"
2580 DATA "BBBBEEEEEEEEEAAAAAAAAAAAAAAAAAAAA"
2590 DATA "BBBBEEEEEEEEEHHHHAAAAAAAAAAAAAAAA"
2600 DATA "BBBBIIIIOOOOEEEELLEHHAAAAAAAAAAAA"
2610 DATA "BBBBIIIIOOOOEEEELKEHUAAAAAAAAAAAA"
2620 DATA "BBBBIIIIOOPPEEEELLEHUAAAAAAAAAAAA"
2630 DATA "BBBBIIIIOOPPEEEELLEHUNMGGAAAAAAAA"
2640 DATA "BBBBIIIIOOPSTFEERREHUNMGGDDDDAAAA"