0WIDTH 80 10 REM BALL.BAS 2/16/82 20 REM PROGRAM BY TOM SPRINGALL 40 GOTO 110 110 T$=TIME$:X=0 120 FOR I = 2 TO 3:X=X*60+ VAL(MID$(T$,(3*I-2),2)):NEXT:RANDOMIZE X-32000 130 CLS 140 PRINT "The object of this game is to shoot a pea from the peashooter at the upper" 150 PRINT "left hand corner of the screen with the correct velocity so that it lands in" 160 PRINT "the tee at the bottom of the screen. The bigger the velocity you enter, the" 170 PRINT "farther the pea will travel. Correct velocities should range from 30-110.":PRINT 180 PRINT "The tee will be in a different position for each game. A scoreboard in the" 190 PRINT "upper right of the screen will keep track of how many shots it takes in each" 200 PRINT "game to hit the tee.":PRINT 210 PRINT "Press any key to begin. 220 T$=INKEY$:IF T$="" GOTO 220 ELSE IF ASC(T$)=27 GOTO 680 230 DIM R(80),C(80):DEF SEG:POKE 108,0:KEY OFF:E=2:F=1:B=.05:A=B*2:CLS 240 LOCATE 1,48,0:PRINT STRING$(32,220); 250 LOCATE 2,48,0:PRINT CHR$(221);SPACE$(30);CHR$(222); 260 LOCATE 3,48,0:PRINT CHR$(221);" TOTAL GAMES WON IN";SPACE$(8);CHR$(222); 270 LOCATE 4,48,0:PRINT CHR$(221);" GAMES 1 2 3 4 5 >5 AVE ";CHR$(222); 280 LOCATE 5,48,0:PRINT CHR$(221);SPACE$(30);CHR$(222); 290 LOCATE 6,48,0:PRINT CHR$(221);SPACE$(30);CHR$(222); 300 LOCATE 7,48,0:PRINT STRING$(32,223); 310 DIM GMS(7) 320 P=19+CINT(58*RND):CNT=0:GOSUB 640 330 LOCATE 1,1,0:PRINT STRING$(2,220);:LOCATE 3,1,0:PRINT STRING$(2,223); 340 LOCATE 25,P-2,0: PRINT "--";CHR$(157);"--"; 350 LOCATE 2,1,0:PRINT"o";:CNT=CNT+1:GMS(7)=GMS(7)+1 360 IF CNT>6 THEN H=6 ELSE H=CNT 370 LOCATE 6,51+H*3,0:PRINT" ^"; 380 T$=INKEY$:IF T$<>"" THEN IF ASC(T$)=27 GOTO 680 ELSE 380 390 LOCATE 24,1,1:PRINT SPACE$(30);:LOCATE 24,1,1:INPUT;"VELOCITY";V 400 IF V<1 THEN BEEP:GOTO 390 410 V=V*B:E=2:F=1 420 FOR I = 1 TO 80 430 R(I)=2+CINT(A*I*I):C(I)=2+CINT(V*I) 440 IF C(I)>79 OR R(I)>24 GOTO 460 450 NEXT I 460 I=I-1:IF C(I+1)>79 OR R(I)=24 GOTO 490 470 T=CINT(SQR(24*V*V/A)) 480 IF T<80 THEN R(I)=24:C(I)=T 490 FOR J=1 TO I 500 LOCATE E,F,0:PRINT " ";:LOCATE R(J),C(J),0:PRINT "o";:E=R(J):F=C(J) 510 FOR K=1 TO 100:NEXT K 520 NEXT J 530 IF R(I)=24 AND C(I)=P GOTO 560 540 COLOR 7,0 550 LOCATE E,F,0:PRINT " ";:GOTO 330 560 BEEP:GMS(H)=GMS(H)+1:GMS(0)=GMS(0)+1:GOSUB 640 570 LOCATE 24,1,1:PRINT "NEW GAME? (Y/N)"; 580 T$=INKEY$:IF T$="" GOTO 580 590 IF T$="N" OR T$="n" OR T$=CHR$(27) GOTO 680 600 LOCATE 24,1,0:PRINT SPACE$(79); 610 LOCATE 25,1,0:PRINT SPACE$(79); 620 LOCATE 6,52,0:PRINT SPACE$(27) 630 GOTO 320 640 LOCATE 5,50,0:PRINT USING " ### ";GMS(0); 650 PRINT USING "###";GMS(1),GMS(2),GMS(3),GMS(4),GMS(5),GMS(6); 660 IF GMS(0)=0 THEN RETURN 670 PRINT USING "###.#";GMS(7)/GMS(0);:RETURN 680 CLS:KEY ON:END