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"