image of READY prompt

Wang2200.org

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

# Sector 549, program filename = 'BOWLING'
0001 REM TEN PIN BOWLING   JERRY KAMITIAN   WANG LABS.
0010 COM H1,H$(18,33)1,K
0020 DIM K$1,A$64,P(10),F$(12)1,S(10)
0030 PRINT HEX(03);"WANG 2200-B TEN PIN BOWLING INSTRUCTIONS"
   : PRINT "1. KEY RETURN TO GET BALL"
   : PRINT "2. WHEN BALL IS POSITIONED KEY '15 TO ROLL BALL."
   : GOTO 70
0040 I=2
0045 K$=HEX(FF)
   : KEYIN K$,50,320
0050 I=I+1
   : PRINT TAB(I-3);HEX(282828302929290C)
   : IF I<50THEN 45
0060 GOTO 320
0070 IF K=1THEN 90
   : FOR I=1TO 18
   : READ A$
   : FOR J=1TO 33
0080 H$(I,J)=STR(A$,J,1)
   : NEXT J
   : NEXT I
   : K=1
0090 FOR J=1TO 12
   : F$(J)=" "
   : IF J>10THEN 100
   : S(J)=0
0100 NEXT J
0110 PRINT HEX(030A0A)
0120 PRINT TAB(5);"FRAME";
0130 PRINT TAB(16);"1   2   3   4   5   6   7   8   9  10"
0140 F,X=0
0150 REM          RESET
0160 C=1
   : B=1
   : F=F+1
0170 FOR J=1TO 10
   : P(J)=1
   : NEXT J
0180 GOSUB '33(6,0,10)
0190 PRINT TAB(19);"777     888     999     000"
0200 PRINT TAB(23);"444     555     666"
0210 PRINT TAB(27);"222     333"
0220 PRINT TAB(31);"111"
0230 REM          ROLL BALL
0240 GOSUB '33(0,0,2)
0250 J=B
   : H=F
   : IF F<=10THEN 260
   : H=10
   : J=F-9
   : IF F$(10)<>"/"THEN 260
   : J=3
0260 PRINT "KEY RETURN (EXEC) TO ROLL BALL";J;" OF FRAME";H;
0270 K$=HEX(FF)
   : KEYIN K$,280,280
   : GOTO 270
0280 IF K$<>HEX(0D)THEN 270
   : REM MOVE CURSOR
0290 GOSUB '33(0,0,2)
0300 GOSUB '33(12,0,0)
0310 GOTO 40
0320 DEFFN'15
0330 IF I<16 THEN 940
0340 IF I>48 THEN 940
0350 H$=H$(C,I-15)
0360 IF H$="A"THEN 940
0370 IF H$<>"B" THEN 400
0380 P(7)=0
   : C=2
0390 GOTO 940
0400 IF H$<>"C"THEN 430
0410 P(10)=0
   : C=18
0420 GOTO 940
0430 IF H$<>"D"THEN 460
0440 P(6),P(9),P(10)=0
   : C=17
0450 GOTO 940
0460 IF H$<>"E"THEN 490
0470 FOR J=1TO 10
   : P(J)=0
   : NEXT J
0480 GOTO 940
0490 IF H$<>"F"THEN 520
0500 P(1),P(2),P(3),P(4),P(5),P(7),P(8),P(9)=0
   : C=8
0510 GOTO 940
0520 IF H$<>"G"THEN 550
0530 P(3),P(6),P(9),P(10)=0
   : C=16
0540 GOTO 940
0550 IF H$<>"H" THEN 580
0560 P(1),P(2),P(3),P(5),P(6),P(8),P(9),P(10)=0
   : C=12
0570 GOTO 940
0580 IF H$<>"I" THEN 610
0590 P(4),P(7),P(8)=0
   : C=3
0600 GOTO 940
0610 IF H$<>"J" THEN 640
0620 FOR J=1TO 9
   : P(J)=0
   : NEXT J
   : C=9
0630 GOTO 940
0640 IF H$<>"K" THEN 670
0650 P(1),P(2),P(4),P(7)=0
0660 GOTO 940
0670 IF H$<>"L" THEN 700
0680 P(1),P(2),P(3),P(4),P(5),P(6),P(8),P(9),P(10)=0
   : C=11
0690 GOTO 940
0700 IF H$<>"M" THEN 730
0710 P(3),P(5),P(6),P(9),P(10)=0
   : C=15
0720 GOTO 940
0730 IF H$<>"N" THEN 760
0740 P(3),P(5),P(6),P(8),P(9),P(10)=0
   : C=14
0750 GOTO 940
0760 IF H$<>"O" THEN 790
0770 P(2),P(4),P(7),P(8)=0
   : C=4
0780 GOTO 940
0790 IF H$<>"P" THEN 820
0800 P(2),P(4),P(5),P(7),P(8)=0
   : C=5
0810 GOTO 940
0820 IF H$<>"Q" THEN 850
0830 P(1),P(3),P(6),P(10)=0
0840 GOTO 940
0850 IF H$<>"R" THEN 880
0860 P(1),P(2),P(3),P(4),P(5),P(6),P(8),P(9)=0
   : C=10
0870 GOTO 940
0880 IF H$<>"S" THEN 910
0890 P(2),P(4),P(5),P(7),P(8),P(9)=0
   : C=6
0900 GOTO 940
0910 IF H$<>"T" THEN 930
   : P(1),P(2),P(3),P(4),P(5),P(7),P(8)=0
0920 C=7
   : GOTO 940
0930 P(1),P(2),P(3),P(5),P(6),P(9),P(10)=0
   : C=13
0940 P=0
0950 FOR J=1TO 10
0960    IF P(J)=1THEN 970
   : P=P+1
0970 NEXT J
0980 IF B>1THEN 1130
0990 IF P<10THEN 1180
1000 F$(F)="X"
   : IF F<>11THEN 1050
1010 S(10)=S(10)+10
1020 IF F$(10)<>"/"THEN 1030
   : X=2
   : GOTO 1290
1030 IF F$(9)<>"X"THEN 1040
   : S(9)=S(9)+10
1040 GOSUB 1290
   : GOTO 150
1050 IF F<12THEN 1070
   : S(10)=S(10)+10
   : X=2
   : IF F$(11)="X"THEN 1290
1060 F$(12)="/"
   : GOTO 1290
1070 S(F)=10
1080 IF F=1THEN 1120
   : IF F$(F-1)="X"THEN 1100
1090 IF F$(F-1)<>"/"THEN 1120
   : S(F-1)=S(F-1)+10
   : GOTO 1120
1100 S(F-1)=S(F-1)+10
1110 IF F=2THEN 1120
   : IF F$(F-2)<>"X"THEN 1120
   : S(F-2)=S(F-2)+10
1120 GOSUB 1290
   : GOTO 150
1130 S(F)=P
1140 IF F=1THEN 1150
   : IF F$(F-1)<>"X"THEN 1150
   : S(F-1)=S(F-1)+P
1150 IF P<10THEN 1160
   : F$(F)="/"
1160 IF F<10THEN 1170
   : IF F$(10)="/"THEN 1170
   : X=2
   : GOTO 1290
1170 GOSUB 1290
   : GOTO 150
1180 IF F=11THEN 1250
1190 IF F<>12THEN 1200
   : S(10)=S(10)+P
   : X=2
   : GOTO 1290
1200 IF F=1THEN 1280
1210 IF F$(F-1)<>"/"THEN 1220
   : S(F-1)=S(F-1)+P
   : GOTO 1280
1220 IF F=2THEN 1280
1230 IF F$(F-1)<>"X"THEN 1280
1240 IF F$(F-2)<>"X"THEN 1280
   : S(F-2)=S(F-2)+P
   : GOTO 1280
1250 IF F$(10)="X"THEN 1260
   : S(10)=S(10)+P
   : X=2
   : GOTO 1290
1260 IF F$(9)<>"X"THEN 1270
   : S(9)=S(9)+P
1270 GOSUB 1290
   : F=12
   : GOTO 230
1280 GOSUB 1290
   : B=2
   : GOTO 230
1290 GOSUB '33(12,0,1)
1300 GOSUB '33(15,I,0)
1310 SELECT P9
1320 FOR J=1TO 6
1330  PRINT "^";
1340  PRINT HEX(080C);
1350 NEXT J
1360 SELECT P
1370 GOSUB '33(6,0,10)
1380 IF F$(F)<>"/"THEN 1430
1390 PRINTUSING 1400
   : PRINTUSING 1410
   : PRINTUSING 1410
   : PRINTUSING 1400
1400 %      //////////////////////////////////////////////
1410 %     /   SPARE    SPARE    SPARE    SPARE    SPARE   /
1420 GOTO 1720
1430 IF F$(F)<>"X"THEN 1480
1440 %     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1450 %    X     STRIKE    STRIKE    STRIKE    STRIKE     X
1460 PRINTUSING 1440
   : PRINTUSING 1450
   : PRINTUSING 1450
   : PRINTUSING 1440
1470 GOTO 1720
1480 IF P(7)=0 THEN 1500
1490 PRINT TAB(19);"777";
1500 IF P(8)=0 THEN 1520
1510 PRINT TAB(27);"888";
1520 IF P(9)=0 THEN 1540
1530 PRINT TAB(35);"999";
1540 IF P(10)=0 THEN 1560
1550 PRINT TAB(43);"000";
1560 PRINT
1570 IF P(4)=0THEN 1590
1580 PRINT TAB(23);"444";
1590 IF P(5)=0 THEN 1610
1600 PRINT TAB(31);"555";
1610 IF P(6)=0 THEN 1630
1620 PRINT TAB(39);"666";
1630 PRINT
1640 IF P(2)=0 THEN 1660
1650 PRINT TAB(27);"222";
1660 IF P(3)=0 THEN 1680
1670 PRINT TAB(35);"333";
1680 PRINT
1690 IF P(1)=0 THEN 1710
1700 PRINT TAB(31);"111"
1710 REM SCORE
1720 IF F>10THEN 1730
   : M=(F+3)*4-1
   : GOTO 1750
1730 M=53
   : IF F$(11)<>"X"THEN 1750
1740 M=53+(F-11)*2
1750 GOSUB '33(3,M,0)
1760 IF P>0THEN 1770
   : PRINT " -"
   : GOTO 1800
1770 IF F$(F)<>"X"THEN 1780
   : PRINT " X"
   : GOTO 1800
1780 IF F$(F)<>"/"THEN 1790
   : PRINT " /"
   : GOTO 1800
1790 PRINT P
1800 J=0
1810 J=J+1
1820 IF F<JTHEN 1910
1830   IF F$(J)="X"THEN 1850
   : IF F$(J)="/"THEN 1860
1840   IF J<FTHEN 1870
   : IF B=2THEN 1870
   : GOTO 1910
1850   IF J+2<=FTHEN 1870
   : IF B=2THEN 1870
   : GOTO 1910
1860   IF J+1<=FTHEN 1870
   : GOTO 1910
1870   H=0
   : FOR I=1TO J
   : H=S(I)+H
   : NEXT I
1880   PRINT TAB((J+3)*4-2);
   : PRINTUSING 1890,H;
1890 %###
1900 IF J<10 THEN 1810
1910 IF X=2THEN 1920
   : RETURN
1920 REM    END OF GAME
1930 GOSUB '33(0,0,2)
1940 GOSUB '33(5,0,11)
1950 GOSUB '33(5,20,0)
1960 PRINT "FINAL SCORE     ";H
1970 IF H1<HTHEN 1980
   : PRINT TAB(20);"THE HIGH IS  ";H1
   : GOTO 2000
1980 PRINT TAB(20);"A NEW HIGH!!!!"
1990 PRINT TAB(20);"THE OLD HIGH WAS  ";H1
   : H1=H
2000 INPUT "KEY RETURN TO START A NEW GAME",K$
   : GOTO 70
2010 DEFFN'33(L,M,N)
2020 IF N<1 THEN 2110
2030 GOSUB 2110
2040 SELECT PRINT 205
2050 A$=" "
2060 PRINT STR(A$,M+1)
2070 IF N<2 THEN 2110
2080 FOR A=2TO N
2090 PRINT HEX(0A);STR(A$,1)
2100 NEXT A
2110 SELECT PRINT 405
2120 PRINT HEX(01)
2130 IF M<1 THEN 2170
2140 FOR A=1TO M
2150 PRINT HEX(09)
2160 NEXT A
2170 IF L<1 THEN 2210
2180 FOR A=1TO L
2190 PRINT HEX(0A)
2200 NEXT A
2210 SELECT PRINT 005
2220 RETURN
2230 DATA "BBBBIIIIOOPSTFEJRLEHUNMGGDDDDCCCC"
2240 DATA "AAAAIIIIOOPSTFEJJEEHUNMGGDDDDCCCC"
2250 DATA "AAAAAAAAOOPSTFEJJEEEEMMGGDDDDCCCC"
2260 DATA "AAAAAAAAAAAATFEJJEEEEMMGGDDDDCCCC"
2270 DATA "AAAAAAAAAAAATFEQJEEEEGGGGDDDDCCCC"
2280 DATA "AAAAAAAAAAAAFFEJJEEEEGGGGDDDDCCCC"
2290 DATA "AAAAAAAAAAAAAAAAFFFFEEEEEEEEECCCC"
2300 DATA "AAAAAAAAAAAAAAAAAAAAEEEEEEEEECCCC"
2310 DATA "AAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEE"
2320 DATA "EBBBBBBBBAAAAAAAAAAAAAAACCCCCCCCE"
2330 DATA "EEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAA"
2340 DATA "BBBBEEEEEEEEEAAAAAAAAAAAAAAAAAAAA"
2350 DATA "BBBBEEEEEEEEEHHHHAAAAAAAAAAAAAAAA"
2360 DATA "BBBBIIIIOOOOEEEELLEHHAAAAAAAAAAAA"
2370 DATA "BBBBIIIIOOOOEEEELKEHUAAAAAAAAAAAA"
2380 DATA "BBBBIIIIOOPPEEEELLEHUAAAAAAAAAAAA"
2390 DATA "BBBBIIIIOOPPEEEELLEHUNMGGAAAAAAAA"
2400 DATA "BBBBIIIIOOPSTFEERREHUNMGGDDDDAAAA"