10 REM****** 20 REM*ARTILERY 30 REM*WM V R SMITH 40 REM****** 50 CLS 60 PRINT"ARTILLERY" 70 PRINT"You are in" 80 PRINT"charge of a" 90 PRINT"artillery cannon."; 100 C=C+1 110 IF INKEY$="" THEN 100 120 CLS 130 PRINT"You must enter the" 140 PRINT"elevation in " 150 PRINT"degrees and # 160 PRINT"of gunpowder bags"; 170 IF INKEY$="" THEN 170 180 CLS 190 LOCATE 5,1 200 PRINT"GOOD LUCK!!" 210 FOR X=1 TO 500:NEXT 220 C=C+1 230 C=C-INT(C/10)*10 240 FOR X=1 TO C 250 A=RND(1) 260 NEXT 270 CLS 280 CLS 290 BS=0 300 REM*** 310 LINE(0,31)-(110,31),PSET 320 MH=INT(RND(1)*100) 330 IF MH>10 THEN 320 340 MH=30-MH 350 CH=30:MH1=INT(MH/2) 360 FOR CX=55- MH1 TO 55 370 E=INT(RND(1)*3) 380 CH=CH-E 390 LINE(CX,CH)-(CX,30),PSET 400 NEXT 410 HM=CH 420 FOR CX=55 TO 55+MH1 430 E=INT(RND(1)*3) 440 CH=CH+E 450 LINE(CX,CH)-(CX,30),PSET 460 NEXT 470 BX=INT(RND(1)*40)+60 480 IF BX<55+MH/2 THEN 470 490 FOR X=BX TO BX+5 500 LINE (X,27)-(X,30),PSET 510 NEXT 520 GX=INT(RND(1)*30) 530 FOR X=GX TO GX+3 540 LINE(X,28)-(X,30),PSET 550 NEXT 560 EL=45:BP=5:EL$="45" 570 LOCATE 0,0 580 PRINT"ELEVATION:";EL$;" "; 590 INPUT""; I$ 600 IF I$ ="" THEN 640 610 T=VAL( I$) 620 IF T<10 OR T>80 THEN SOUND3,1: GOTO570 630 EL$=I$ 640 BS=BS+1 650 LOCATE0,0 660 PRINT" " 670 LOCATE 0,0 680 PRINT"POWDER BAGS";BP; 690 INPUT"";BP$ 700 LOCATE0,0 710 PRINT" " 720 IF BP$="" THEN740 730 BP=INT(VAL(BP$)) 740 SM=INT(BP*5) 750 IFBP<2 OR BP>10 THEN SOUND 3,1:GOTO670 760 IF EL$="" THEN 780 770 EL=90-VAL(EL$) 780 CE=EL+(EL/10) 790 HV=CE/100 800 VV=1-HV 810 HO=BP*HV:VO=BP*VV 820 SX=GX+3 830 SY=26 840 GR=.40 850 PRESET(OX,OY):PRESET(OX+1,OY) 860 PSET(SX,SY):PSET(SX+1,SY) 870 OX=SX:OY=SY 880 SX=SX+HO 890 SY=SY-VO+GR 900 VO=VO-GR 910 IF VO>0 THEN 950 920 IF SY60 THEN 950 940 IF SX>55-MH1 THEN 570 950 IF SY<30 THEN 850 960 FOR Z=1 TO 3 970 FOR Q=1 TO 0 STEP-1 980 LINE(SX,30)-(SX-3,26),PRESET,Q 990 LINE(SX,30)-(SX ,26),PRESET,Q 1000 LINE(SX,30)-(SX+3,26),PRESET,Q 1010 NEXTQ 1020 NEXT Z 1030 IFABS( SX-(BX+3))>3 THEN 570 1040 SOUND 2,4 1050 R$(1)="EXPERT" 1060 R$(2)="GUNNER" 1070 R$(3)="ASSISTANT" 1080 R$(4)="NOVICE" 1090 R$(5)="BLIND " 1100 LOCATE 0,0 1110 PRINT"DIRECT HIT!!" 1120 GOSUB 1280 1130 LOCATE 0,0 1140 GOSUB 1280 1150 PRINT"YOUR RATING IS:" 1160 GOSUB 1280 1170 LOCATE 0,0 1180 PRINT" " 1190 LOCATE 0,0 1200 S=INT(BS/2) 1210 IF S=0 THEN S=1 1220 IF S>5 THEN S=5 1230 PRINT R$(S) 1240 GOSUB 1280 1250 IF INKEY$="" THEN 1250 1260 GOTO 280 1270 END 1280 FOR X=1 TO300:NEXT 1290 RETURN