Listing of file='6P6.BAS;01' on disk='vmedia/color_graphics_2_suits-sector.ccvf'
5 REM PROGRAM 6.6 6 REM AN ARTILLERY GAME 10 PLOT 15,30,16,29,22,12,27,24:REM SET UP 20 PRINT TAB( 27)"ARTILLERY" 28 29 REM SET UP THE CONSTANTS 30 GOSUB 1000 38 39 REM SET UP THE DISPLAY 40 GOSUB 2000 48 49 REM GET ANGLE FOR EACH SHOT 50 GOSUB 3000 58 59 REM PLOT PROJECTILE PATH 60 GOSUB 4000 68 69 REM CHECK TO SEE IF TARGET WAS HIT 70 SC= 28672+ 128* TY+ TX+ TX:REM SCREEN RAM LOCATION FOR TARGET 80 IF PEEK (SC)= 114THEN 50:REM IT'S STILL THERE 88 89 REM PLAYER HAS HIT TARGET 90 PRINT :PRINT "GOOD SHOT!":PRINT 100 INPUT "CARE TO PLAY AGAIN ? ";A$ 110 A$= LEFT$ (A$,1) 120 IF A$= "Y"OR A$= "O"THEN RUN :REM ALLOW ANSWER OF "OK" 130 IF A$< > "N"THEN 100 140 END 997 998 REM ***** SUBROUTINE TO SET UP CONSTANTS ***** 999 1000 G= - 32:REM GRAVITY 1010 T= .1:REM TIME INCREMENT 1020 M= 15:REM MUZZLE VELOCITY (YOU MIGHT WANT TO CHANGE THIS) 1027 1028 REM GET RANDOM X CO-ORDINATE BETWEEN 1029 REM 3 AND 25 FOR THE PILL BOX 1030 PX= INT (22* RND (1))+ 3 1038 1039 REM Y CO-ORIDINATE OF PILL BOX IS ALWAYS 30 1040 PY= 30 1047 1048 REM GET RANDOM X CO-ORDINATE BETWEEN 1049 REM 40 AND 55 FOR TARGET 1050 TX= INT (15* RND (1))+ 40 1058 1059 REM TARGET Y CO-ORDINATE IS ALWAYS 30 1060 TY= 30 1070 RETURN 1996 1997 REM ***** SUBROUTINE TO PRINT THE DISPLAY ***** 1998 1999 REM GROUND 2000 PLOT 6,16:REM BACKGROUND TO GREEN 2010 PLOT 3,0,31,11 2018 2019 REM PILL BOX 2020 PLOT 6,8:REM BACKGROUND TO RED 2030 PLOT 3,PX,PY,32:REM PRINT A SPACE IN RED FOR THE PILL BOX 2039 REM TARGET 2040 PLOT 6,6:REM CYAN ON BLACK 2050 PLOT 3,TX,TY,114:REM USE ROOK FOR THE TARGET 2060 RETURN 2997 2998 REM ***** SUBROUTINE TO GET ANGLE ***** 2999 3000 PLOT 6,2 3010 PLOT 3,0,1,11:REM ERASE ANY PREVIOUS INPUT 3020 INPUT "ANGLE? ";A$ 3029 REM IF A<0 THEN ABORT AND START AGAIN 3030 A= VAL (A$):IF A< 0THEN RUN 3039 REM TRANSLATE INTO RADIANS 3040 A= A* 3.1415926/ 180 3049 REM CALCULATE INITIAL X AND Y VELOCITIES OF PROJECTILE 3050 VX= M* COS (A) 3060 VY= M* SIN (A) 3070 RETURN 3994 3995 REM ***** SUBROUTINE TO PLOT PATH OF PROJECTILE ***** 3996 3997 REM FIRST SET UP INITIAL X CO-ORDINATE. LET'S 3998 REM HAVE IT BEGIN JUST ABOVE THE UPPER RIGHT 3999 REM OF THE PILL BOX 4000 X0= 2* PX+ 1 4008 4009 REM INITIAL Y CO-ORIDINATE IS ALWAYS 8 4010 Y0= 8 4019 4020 PLOT 6,7,2:REM COLOR=WHITE;ENTER GENERAL PLOT MODE 4030 PLOT X0,Y0:REM PLOT PROJECTILE 4038 4039 REM CALCULATE NEW X CO-ORDINATE 4040 X1= X0+ VX* T 4048 4049 REM CHECK FOR OUT OF BOUNDS 4050 IF X1< 0OR X1> 127THEN 4200 4058 4059 REM CALCULATE NEW Y VELOCITY 4060 VY= VY+ .5* G* T* T 4068 4069 REM CALCULATE NEW Y CO-ORDINATE 4070 Y1= Y0+ VY* T 4078 4079 REM CHECK FOR TOO HIGH 4080 IF Y1> 127THEN 4200 4088 4089 REM CHECK FOR HITTING THE GROUND 4090 IF Y1< 4THEN 4200 4095 PLOT X0,Y0:REM ERASE PROJECTILE AT LAST LOCATION 4098 4099 REM LET THE NEW CO-ORDINATES NOW BE THE OLD ONES 4100 X0= X1:Y0= Y1 4108 4109 REM BACK FOR NEXT PLOT & NEXT COMPUTATIONS 4110 GOTO 4030 4198 4199 REM END OF PLOT 4200 PLOT 255:REM EXIT PLOT MODE 4210 RETURN