Listing of file='BOWL2' on disk='vmedia/games.wvd.zip'
# Sector 274, program filename = 'BOWL2'
0010 COM H,N$
: GOTO 30
0020 FOR X=1TO 53
: PRINT TAB(X);HEX(282828302929290C)
: KEYIN A$,80,80
: NEXT X
: GOTO 90
0030 COM H,N$
: DIM S(12,2),P(10)
: PRINT HEX(03)
0040 PRINT HEX(010A)
: FOR X=1TO 10
: PRINT TAB(5*X-1);X;
: NEXT X
0050 B=1
: FOR X=1TO 10
: P(X)=0
: NEXT X
: F=F+1
: X9=0
0060 PRINT HEX(01)
: PRINT HEX(010A0A0A0A)
: GOSUB '200(12,7,10)
: GOSUB '200(17,4,6)
: GOSUB '200(22,2,3)
: GOSUB '200(27,1,1)
: PRINT HEX(01);TAB(64);HEX(01);
: INPUT "ROLL",A$
: FOR X=1TO 12
: PRINT
: NEXT X
: X=0
0070 GOTO 20
0080 X8=X
: X=100
: NEXT X
: X=X8
0090 PRINT HEX(0C0C0C);TAB(X+3);HEX(5E0C085E0C085E0C085E0C085E)
0100 FOR S1=1TO 25
: NEXT S1
0110 PRINT HEX(01);TAB(64)
0120 PRINT HEX(010A0A0A0A0A0A0A0A)
: FOR S1=1TO 7
: PRINT TAB(64)
: NEXT S1
0130 IF RND(1)>.99THEN 510
: GOTO 150
0140 RESTORE 11
: GOTO 170
0150 IF ABS(X9-X)<5THEN 140
: IF X<11THEN 140
: IF X>53THEN 140
: IF RND(1)<.9THEN 160
: IF X>37THEN 160
: IF X<27THEN 160
: X=X+27
0160 RESTORE X
: READ P
: X9=X
0170 FOR X=10TO 1 STEP -1
: C=10*(P/10-INT(P/10))
: P=INT(P/10)
: IF C<P(X)THEN 180
: P(X)=C
0180 NEXT X
: PRINT HEX(01)
: PRINT HEX(010A0A0A0A)
: GOSUB '200(12,7,10)
: GOSUB '200(17,4,6)
: GOSUB '200(22,2,3)
: GOSUB '200(27,1,1)
: S1=0
: FOR X=1TO 10
: S1=S1+P(X)
: NEXT X
: IF B=2THEN 200
: IF S1<>10THEN 200
0190 PRINT HEX(01);TAB(29);"STRIKE"
: GOTO 240
0200 IF S1<>10THEN 210
: PRINT HEX(01);TAB(29);"SPARE"
: GOTO 220
0210 IF B=2 THEN 220
: S(F,B)=S1
: GOTO 230
0220 S(F,B)=S1-S(F,1)
0230 B=B+1
: GOTO 250
0240 S(F,1)=10
: S(F,2)=0
0250 PRINT HEX(01)
: PRINT HEX(010A0A)
: FOR X=1TO F
: PRINT TAB(5*X-2);
: IF S(X,1)=10THEN 270
: PRINTUSING 520,S(X,1);
: IF S(X,1)+S(X,2)=10THEN 280
: IF F<>XTHEN 260
: IF B=2THEN 290
0260 PRINTUSING 520,S(X,2);
: GOTO 290
0270 PRINT " X";
: GOTO 290
0280 PRINT " / ";
: GOTO 290
0290 NEXT X
: PRINT
: S1=0
: FOR X=1TO F
0300 IF S(X,1)+S(X,2)<>10THEN 310
: IF X=FTHEN 350
: IF S(X,1)<>10THEN 320
: IF S(X+1,1)<>10THEN 330
: IF F=X+1THEN 350
: S1=S1+20+S(X+2,1)
: GOTO 390
0310 S1=S1+S(X,1)+S(X,2)
: GOTO 390
0320 S1=S1+10+S(X+1,1)
: GOTO 390
0330 IF X<F-1THEN 340
: IF B<>2THEN 340
: GOTO 410
0340 S1=S1+10+S(X+1,1)+S(X+1,2)
: GOTO 390
0350 X=F
: GOTO 410
0360 IF F=XTHEN 410
: S1=S1+10+S(X+1,1)
: IF S(X,1)<>10THEN 390
: IF S(X+1,1)=10THEN 370
: S1=S1+S(X+1,2)
: GOTO 390
0370 IF X<>F-1 THEN 380
: X=F
: GOTO 410
0380 S1=S1+S(X+2,1)
0390 IF X<>FTHEN 400
: IF B=2THEN 410
0400 PRINT TAB(5*X-2);S1;
0410 IF X<>10THEN 420
: X=20
0420 NEXT X
: PRINT
: IF X=20THEN 530
: IF B=2THEN 60
: GOTO 50
0430 PRINT HEX(010A0A0A0A0A0A0A)
: PRINT "FINAL SCORE";S1
: IF S1>HTHEN 450
: PRINT "RECORD IS";H;"HELD BY ";N$
0440 END
0450 INPUT "NAME OF NEW RECORD HOLDER",N$
0460 PRINT "OLD RECORD WAS";H
: H=S1
: GOTO 440
0470 DEFFN'200(A,Q,C)
0480 PRINT TAB(A);
: FOR X=QTO C
: IF P(X)=1THEN 490
: RESTORE X
: READ P$
: PRINT P$;
: GOTO 500
0490 PRINT " ";
0500 NEXT X
: PRINT TAB(64)
: RETURN
0510 PRINT HEX(01);TAB(29);"FOUL"
: GOTO 140
0520 % #
0530 IF S(10,1)=10THEN 540
: IF S(10,1)+S(10,2)=10THEN 550
: IF B=2THEN 60
: GOTO 430
0540 IF F=10THEN 50
: IF F=12THEN 430
: IF S(11,1)=10THEN 50
: IF B=2THEN 60
: GOTO 430
0550 IF F=10THEN 50
: GOTO 430
0560 DATA " 111"," 222"," 333"," 444"," 555","
666"," 777"," 888"," 999"," 000"
0570 DATA 0,1111,1000,1000,1000,1000,1111000,1001100,1001100,1001100,1001100,1
11001000,101101010,101101110,101101110,101101110,1101001110,1111101100,11
11111110,1111111111,1111101110,1111110110
0580 DATA 1110110111,1111111111,1111110111,1110110011,1010010111,10110111,1011
0111,10110111,10110101,110010001,10011,10011,10011,10011,1110001,1,1,1,1,
1111
0590 DATA 0,101111101,1111011110,1101111110,1111111110,1111010110,1110100110,1
111010110,1111110111,1011110111,1111010111,11111011
6000 STOP
6010 DEFFN'31
: LOAD DC F"GAMES"