1  REM  ****  HP BASIC PROGRAM LIBRARY  ******************************
2  REM
3  REM        BASKET:  BASKETBALL STATISTICS
4  REM
5  REM        36605  REV A  --  10/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  DIM A[21,13],B[21,13],C[21,6],L[12],M[12]
20  DIM N$[9],W$[10]
30  FILES VARS,JRVAR,NAMES
40  PRINT "ENTER # OF MEN PLAYING, GAME #, TEAM (VARSITY OR JV)"
50  INPUT P,G,W$
60  IF W$[1,1]="J" THEN 100
70  T=1
80  R=14
90  GOTO 120
100  T=2
110  R=15
120  MAT A=ZER[R,13]
130  MAT B=ZER[R,13]
140  MAT  READ #T;C[R,6]
150  FOR I=1 TO R
160  B[I,2]=INT(C[I,1]/1000)
170  B[I,3]=C[I,1]-1000*B[I,2]
180  B[I,4]=INT(C[I,2]/10000)
190  X=C[I,2]-10000*B[I,4]
200  B[I,5]=INT(X/100)
210  B[I,6]=X-100*B[I,5]
220  B[I,7]=INT(C[I,3]/10000)
230  X=C[I,3]-10000*B[I,7]
240  B[I,8]=INT(X/100)
250  B[I,1]=X-100*B[I,8]
260  B[I,9]=INT(C[I,4]/1000)
270  B[I,10]=C[I,4]-1000*B[I,9]
280  B[I,11]=INT(C[I,5]/1000)
290  B[I,12]=C[I,5]-1000*B[I,11]
300  B[I,13]=C[I,6]
310  NEXT I
320  IF P=0 THEN 880
330  PRINT "ENTER #, OFF RB, DEF RB, LOSS, VIOL, GAIN, ASST, FOULS,";
340  PRINT " FGA, FG, FTA, FT"
350  FOR I=1 TO R
360  IF I=P+1 THEN 460
370  REM      THE FOLLOWING LIST GOES TO A(I,12)
380  INPUT A[I,1],A[I,2],A[I,3],A[I,4],A[I,5],A[I,6],A[I,7],A[I,8],A[I,9],A[I,10],A[I,11],A[I,12]
390  IF A[I,1]<0 THEN 420
400  A[I,13]=A[I,13]+1
410  GOTO 450
420  A[I,1]=-A[I,1]
430  PRINT "GAMES";
440  INPUT A[I,13]
450  NEXT I
460  FOR I=1 TO R
470  IF A[I,1]#0 THEN 510
480  IF B[I,1]=0 THEN 760
490  A[I,1]=B[I,1]
500  GOTO 750
510  IF A[I,1]=B[I,1] THEN 750
520  IF A[I,1]>B[I,1] THEN 630
530  FOR K=R-1 TO I STEP -1
540  FOR J=1 TO 13
550  B[K+1,J]=B[K,J]
560  NEXT J
570  NEXT K
580  FOR J=2 TO 13
590  B[I,J]=0
600  NEXT J
610  B[I,1]=A[I,1]
620  GOTO 750
630  IF B[I,1]#0 THEN 660
640  B[I,1]=A[I,1]
650  GOTO 750
660  FOR K=R-1 TO I STEP -1
670  FOR J=1 TO 13
680  A[K+1,J]=A[K,J]
690  NEXT J
700  NEXT K
710  FOR J=2 TO 13
720  A[I,J]=0
730  NEXT J
740  A[I,1]=B[I,1]
750  NEXT I
760  MAT B=A+B
770  FOR I=1 TO R
780  B[I,1]=B[I,1]/2
790  C[I,1]=1000*B[I,2]+B[I,3]
800  C[I,2]=10000*B[I,4]+100*B[I,5]+B[I,6]
810  C[I,3]=10000*B[I,7]+100*B[I,8]+B[I,1]
820  C[I,4]=1000*B[I,9]+B[I,10]
830  C[I,5]=1000*B[I,11]+B[I,12]
840  C[I,6]=B[I,13]
850  NEXT I
860  PRINT #T,1
870  MAT  PRINT #T;C
880  PRINT LIN(3)
890  PRINT TAB(24),"NORTH EUGENE HIGH SCHOOL"
900  IF T=2 THEN 930
910  PRINT TAB(21),"VARSITY BASKETBALL STATISTICS"
920  GOTO 940
930  PRINT TAB(18),"JUNIOR VARSITY BASKETBALL STATISTICS"
940  PRINT  USING 950;G
950  IMAGE 28X,"THROUGH",3D," GAMES"
960  PRINT LIN(3),"FLOOR PLAY",LIN(1)
970  PRINT " PLAYER           OFF   DEF",TAB(66),"GAMES"
980  PRINT "  NAME      NO.   REB   REB   LOSS   VIOL   GAIN   ASST   ";
990  PRINT "FOULS   PLAYED"
1000  PRINT 
1010  MAT M=ZER
1020  READ #3,T
1030  FOR I=1 TO R
1040  READ #3;N$
1050  PRINT  USING 1060;N$,B[I,1],B[I,2],B[I,3],B[I,4],B[I,5],B[I,6]
1060  IMAGE #,9A,5D,X,6D,2(6D),2(X,6D)
1070  PRINT  USING 1080;B[I,7],B[I,8],B[I,13]
1080  IMAGE X,6D,2(2X,6D)
1090  FOR J=2 TO 12
1100  M[J]=M[J]+B[I,J]
1110  NEXT J
1120  NEXT I
1130  FOR J=2 TO 12
1140  L[J]=M[J]/G
1150  NEXT J
1160  PRINT 
1170  PRINT  USING 1180;M[2],M[3],M[4],M[5],M[6],M[7],M[8]
1180  IMAGE "TEAM TOTALS",4X,3(6D),3(X,6D),2(2X,6D)
1190  PRINT  USING 1200;L[2],L[3],L[4],L[5],L[6],L[7],L[8]
1200  IMAGE "TEAM AVERAGES",2X,3(4D.D),3(X,4D.D),4X,2D.D
1210  PRINT LIN(2),"SHOOTING",LIN(1)
1220  PRINT " PLAYER         F G   FLD  FLD  GL   F T   FR   FR  THR";
1230  PRINT "  POINT    POINT"
1240  PRINT "  NAME     NO.  ATT   GLS  AVERAGE   ATT   THR  AVERAGE";
1250  PRINT "  TOTAL   AVERAGE"
1260  PRINT 
1270  READ #3,T
1280  FOR I=1 TO R
1290  IF B[I,9]#0 THEN 1320
1300  X=0
1310  GOTO 1330
1320  X=B[I,10]/B[I,9]
1330  IF B[I,11]#0 THEN 1360
1340  Y=0
1350  GOTO 1370
1360  Y=B[I,12]/B[I,11]
1370  Z=2*B[I,10]+B[I,12]
1380  IF B[I,13]=0 THEN 1410
1390  W=Z/B[I,13]
1400  GOTO 1420
1410  W=0
1420  READ #3;N$
1430  PRINT  USING 1440;N$,B[I,1],B[I,9],B[I,10],X,B[I,11],B[I,12],Y,Z,W
1440  IMAGE 9A,4D,6D,6D,3X,D.3D,X,6D,6D,3X,D.3D,X,6D,4X,3D.D
1450  NEXT I
1460  X=M[10]/M[9]
1470  Y=M[12]/M[11]
1480  Z=2*M[10]+M[12]
1490  PRINT 
1500  PRINT  USING 1510;M[9],M[10],M[11],M[12],Z
1510  IMAGE "TEAM TOTALS",2X,2(6D),9X,2(6D),11X,4D
1520  Z=Z/G
1530  PRINT "TEAM AVERAGES";
1540  PRINT  USING 1550;L[9],L[10],X,L[11],L[12],Y,Z
1550  IMAGE 2(4D.D),3X,D.3D,X,2(4D.D),3X,D.3D,11X,3D.D
1560  PRINT LIN(2)
1570  END 
