File BOWL.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

20 FILEV#1:"TV:" \PRINT#1:PNT(102) \PRINT#1: \PRINT#1:
90  REMARK AND ORIGINAL IDEA AND PROGRAMED BY PAUL PERAINO
180  REMARK FROM WOODROW WILSON HIGH SCHOOL
200 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
270 DIM C(15),A(100,6)
340 PRINT#1:"                    B O W L I N G "
350 PRINT#1: \PRINT#1: \PRINT#1:
360  PRINT#1:"                WELCOME TO THE ALLEY" \PRINT#1:
450  PRINT#1:"                 BRING YOUR FRIENDS" \PRINT#1:
540  PRINT#1:"           OKAY LET'S FIRST GET ACQUAINTED"
630 PRINT#1:\PRINT#1: \PRINT#1:
720 PRINT#1:"WANT INSTRUCTIONS (Y OR N)";
730 CLOSE #1 \FILE#2:"TV:"
810  INPUT#2: Z$  \CLOSE #2  \FILEV#1:"TV:" \PRINT#1:PNT(102)
900  IF Z$="Y" THEN 990
960  IF Z$="N" THEN 1530
990  PRINT#1:"THE GAME OF BOWLING TAKES MIND AND SKILL.DURING THE GAME"
1080 PRINT#1:"THE COMPUTER WILL KEEP SCORE.YOU MAY COMPETE WITH"
1170 PRINT#1:"OTHER PLAYERS[UP TO FOUR].YOU WILL BE PLAYING TEN FRAMES"
1260 PRINT#1:"ON THE PIN DIAGRAM 'O' MEANS THE PIN IS DOWN...'+' MEANS THE"
1350 PRINT#1:"PIN IS STANDING.AFTER THE GAME THE COMPUTER WILL SHOW YOUR"
1440 PRINT#1:"SCORES ."
1530 PRINT#1: \PRINT#1: \PRINT#1:
1531  PRINT#1:"FIRST OF ALL...HOW MANY ARE PLAYING"
1540 G=1
1550 CLOSE#1 \FILE#2:"TV:"
1620  INPUT#2:R  \CLOSE #2 \FILEV#1:"TV:"
1710  PRINT#1:
1800  PRINT#1:"VERY GOOD..."
1810 FOR I=1 TO 100
1820 FOR J=1 TO 6
1830 A(I,J)=0
1840 NEXT J
1850 NEXT I
1980  F=1
2070  FOR P=1 TO R
2160  M=0
2250  B=1
2340 M=0\Q=0
2400 FOR I=1 TO 15
2410 C(I)=0
2420 NEXT I
2520  REMARK BALL GENERATOR USING MOD '15' SYSTEM
2610 PRINT#1:"PLAYER";P;"-- TYPE ROLL"
2620 CLOSE#1 \FILE#2:"TV:"
2700  INPUT#2:N$  \CLOSE#2 \FILEV#1:"TV:" \PRINT#1:PNT(102)
2790 K=0\D=0
2880  FOR I=1 TO 20
2970  X=INT(RND(I)*100)
3060  FOR J=1 TO 10
3150  IF X<15*J THEN 3330
3240  NEXT J
3330 C(15*J-X)=1
3420  NEXT I
3510  REMARK PIN DIAGRAM
3600 PRINT#1: "                PLAYER:";P;"    FRAM:";F;"    BALL:";B
3690 V=0
3691 PRINT#1: \PRINT#1: \PRINT#1:
3692  FOR I=0 TO 3 \V=V+1
3780  PRINT#1:
3870  FOR J=1 TO 4-I
3960  K=K+1
4050 IF C(K)=1 THEN 4320
4140 PRINT#1:TAB(20+(2*I)+V);"  +   ";
4230  GOTO 4410
4320 PRINT#1:TAB(20+(2*I)+V);"  O   ";
4410  NEXT J \PRINT#1:
4500  NEXT I
4590 PRINT#1:  \PRINT#1:    \PRINT#1:
4680  REMARK ROLL ANALYSIS
4770  FOR I=1 TO 10
4860 D=D+C(I)
4950  NEXT I
5040  IF D-M <> 0 THEN 5220
5130  PRINT#1:"              GUTTER!!"
5220 IF B<>1 GOTO 5490\IF D<>10 GOTO 5490
5310  PRINT#1:"              STRIKE!!!!!"
5400  Q=3
5490 IF B<>2 GOTO 5760\IF D<>10 GOTO 5760
5580  PRINT#1:"               SPARE!!!!"
5670  Q=2
5760 IF B<>2 GOTO 6030\IF D>=10 GOTO 6030
5850  PRINT#1:"               ERROR!!!"
5940  Q=1
6030 IF B<>1 GOTO 6210\IF D>=10 GOTO 6210
6110 PRINT#1: \PRINT#1:
6120  PRINT#1:"ROLL YOUR 2ND BALL"
6210  REMARK STORAGE OF THE SCORES
6300  PRINT#1:
6390 A(F*P,B)=D
6480  IF B=2 THEN 7020
6570  B=2
6660  M=D
6750  IF Q=3 THEN 6210
6840 A(F*P,3)=D-M
6930 IF Q=0 THEN 2520
7020 A(F*P,3)=Q
7110  NEXT P
7200  F=F+1
7290 IF F<11 THEN 2070
7295  PRINT#1:PNT(102)
7296  PRINT#1:"               FRAMES"
7380  FOR I=1 TO 10
7470 PRINT#1:I;" ";
7560  NEXT I
7650  PRINT#1: \PRINT#1:
7740  FOR P=1 TO R
7830  FOR I=1 TO 3
7920  FOR J=1 TO 10
8010 PRINT#1:A(J*P,I);
8050 PRINT#1:TAB(G+4);
8060 G=G+4
8100  NEXT J
8105  PRINT#1:
8150 G=1
8190  NEXT I
8280  PRINT#1:
8370  NEXT P
8460 PRINT#1:"DO YOU WANT ANOTHER GAME (Y OR N)"
8470 CLOSE#1 \FILE#2:"TV:"
8550  INPUT#2:A$  \CLOSE#2 \FILEV#1:"TV:"
8640 IF A$="Y" THEN 1530
8730 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search