Compucolor.org – Virtual Media

Listing of file='TENNIS.BAS;01' on disk='vmedia/games-sector.ccvf'

10 PLOT 6,27,12
15 PLOT 14
20 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT
21 PRINT
25 PRINT TAB( 25)"T E N N I S"
30 A= A+ 1:IF A= 175THEN 100
50 GOTO 30
100 REM  TENNIS GAME.
110 PLOT 12,15
120 PRINT :INPUT "DO YOU WANT INSTRUCTIONS >";XDE$
125 IF XDE$= "N"GOTO 260
130 PLOT 12
140 PRINT :PRINT
150 PRINT "   THIS PROGRAM WILL SIMULATE A SINGLES TENNIS MATCH. THERE"
160 PRINT "ARE SEVERAL OPTIONS AVAILABLE TO YOU AS TO POSITION, PLACEMENT,"
170 PRINT "AND SPEED (TYPE) OF SHOT. THE KEY THAT YOU USE IS:"
180 PRINT
190 PRINT "      1","LEFT BACKCOURT"
200 PRINT "      2","RIGHT BACKCOURT"
205 PRINT "      3","LEFT FORECOURT"
210 PRINT "      4","RIGHT FORECOURT"
215 PRINT :PRINT
220 PRINT "                SPEED (TYPE) OF SHOTS:":PRINT
225 PRINT "  1"SPC( 5)"FAST SLAM":PRINT "  2"SPC( 5)"SLOW LOB"
227 PRINT
230 PRINT "   ALWAYS SPECIFY YOUR OPTION BY NUMBER. YOU WILL BE ALLOWED"
235 PRINT "TO SERVE FIRST IN ALL GAMES.":PRINT
240 PRINT "   BACKHANDS AND FOREHANDS WILL BE ASSUMED."
245 INPUT "   HIT RETURN TO CONTINUE >";RET$
246 IF RET$= ""GOTO 250
250 PLOT 12
260 Y= 0:Z= 0
270 PRINT
280 PRINT
290 INPUT "   SERVE!  TYPE >";A9
310 A= 100* RND (B)
320 IF A9= 2GOTO 410
330 C= 6
340 D= 51
350 IF A< CGOTO 390
360 IF A< DGOTO 590
370 PRINT "   SERVE IS BAD."
380 GOTO 440
390 PRINT "   LET SERVE;  TAKE TWO."
400 GOTO 290
410 C= 4
420 D= 66
430 GOTO 350
440 INPUT "   SERVE AGAIN!  TYPE >";B9
460 E= 100* RND (X)
470 IF B9= 2GOTO 560
480 G= 5
490 H= 41
500 IF E< GGOTO 540
510 IF E< HGOTO 590
515 GOTO 760
520 PRINT "   SERVE IS BAD;  DOUBLE FAULT."
530 GOTO 1160
540 PRINT "   LET SERVE;  TAKE ONE."
550 GOTO 440
560 G= 3
570 H= 76
580 GOTO 500
590 I= 100* RND (X)
600 IF I> 6GOTO 630
610 PRINT "   GOOD SERVE...  ACE!"
620 GOTO 1140
630 K= 100* RND (X)
640 IF A9= 2GOTO 700
650 IF B9= 2GOTO 700
660 N= 61
670 IF K< NGOTO 720
680 PRINT "   GREAT SERVE...  CAN'T BE RETURNED!!"
690 GOTO 1140
700 N= 76
710 GOTO 670
720 PRINT "   SERVE HAS BEEN RETURNED..."
730 PRINT
740 O= INT (4* RND (X))+ 1
750 INPUT "   WHAT IS YOUR POSITION >";Q
760 REM
770 IF O+ Q= 5GOTO 1110
780 INPUT "   WHAT TYPE OF SHOT >";C9
800 INPUT "   WHAT PART OF COURT >";R:PRINT
820 S= 100* RND (X)
830 IF C9= 2GOTO 860
840 IF S< 811GOTO 940
850 GOTO 870
860 IF S< 91GOTO 940
870 U= 4* RND (V)
880 PRINT "   YOUR RETURN IS BAD..."
890 IF U= 2GOTO 920
900 PRINT "   HIT OUT-OF-BOUNDS"
910 GOTO 1160
920 PRINT "   HIT INTO NET..."
930 GOTO 1160
940 PRINT "   YOUR RETURN IS GOOD!"
950 PRINT :A1= INT (4* RND (X))
960 IF R+ A1= 5GOTO 1130
970 W= 100* RND (X)
980 IF C9= 2GOTO 990
990 IF W< 84GOTO 1090
1000 GOTO 1020
1010 IF W< 84GOTO 1090
1020 B= 4* RND (D1)
1030 PRINT "   MY RETURN IS BAD..."
1040 IF B< 2GOTO 1070
1050 PRINT "   HIT OUT-OF-BOUNDS..."
1060 GOTO 1140
1070 PRINT "   HIT INTO NET..."
1080 GOTO 1140
1090 PRINT "   MY RETURN IS GOOD..."
1100 GOTO 730
1110 PRINT "   NICE TRY- YOU WERE UNABLE TO REACH THAT SHOT- COURT"O
1120 GOTO 1160
1130 PRINT "   NICE SHOT- I COULDN'T REACH IT..."
1140 Y= Y+ 1
1150 GOTO 1170
1160 Z= Z+ 1
1170 PRINT
1180 PRINT "   SCORE:","YOU","ME"
1190 PRINT "         ",Y,Z
1200 IF Y= 4GOTO 1230
1210 IF Z= 4GOTO 1250
1220 GOTO 270
1230 Y1= Y1+ 1
1240 GOTO 1260
1250 Z1= Z1+ 1
1260 PRINT "----------------------------------------------------------------"
1270 PRINT :PRINT "   SCORE (GAMES):","YOU","ME"
1280 PRINT "                 ",Y1,Z1
1290 IF Y1= 6GOTO 1320
1300 IF Z1= 6GOTO 1350
1310 GOTO 260
1320 PRINT
1330 PRINT "               *******CONGRATULATIONS*******"
1335 PRINT "                        YOU WON!!!!"
1340 GOTO 1370
1350 PRINT "                     THHHHHUCKERRRR..."
1355 PRINT "                          I WON"
1360 REM
1370 PRINT
1380 PRINT "   LET'S PLAY AGAIN SOMETIME. RIGHT NOW I'VE GOT TO SIGN"
1390 PRINT "AUTOGRAPHS WITH MY DIGITAL PLOTTER. BYE NOW!!!"
1400 END