home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
gam
/
a-duel.ba
next >
Wrap
Text File
|
2006-10-19
|
5KB
|
67 lines
0 'Club 100 library - 415/939-1246 BBS 937-5039 NEWSLETTER, 932-8856 VOICE
1 KEY(1)ON:ON KEY GOSUB65000: CLS:BEEP:BEEP:'LOADED 2/10/85 WITH OPENING BY STAN KENDALL AS 'A-DUEL'.
2 ' WORKS AS OF 8/20/85
10 FORC=2TO120STEP4:D=D+2:LINE(C,30)-(C-2,D-2),1,B:NEXT:FORC=120TO239STEP4:D=D-2:LINE(C,30)-(C-2,D+2),1,B:NEXT
20 PRINT@49,"ARTILLERY DUEL <GA-21>":PRINT@89,"(C) JOHN D PERKINS 1983":PRINT@204,"<Q>uit":PRINT@230,"<P>LAY"
25 Z$=INKEY$:IFZ$="Q"ORZ$="q"THENMENU
30 IFZ$="P"ORZ$="p"THEN40
35 GOTO25
39 GOTO39
40 CLEAR:DEFINT A-Z:DIMTR(239),GN(2,29),SC(2,2),EX(2,8,2):XC=-83:FOR HT=1TO7STEP3:XC=XC+VAL(MID$(TIME$,HT,2))+VAL(MID$(DATE$,HT,2)):NEXT HT:CLS:FOR PL=0TO1:PRINT@PL*80+45,USING"\ \##\ \";"PLAYER";PL+1;" SKILL LEVEL ";
50 KB$=INPUT$(1):IF KB$<"1" OR KB$>"3" THEN PL=PL-1:ELSE SC(PL,0)=VAL(KB$):PRINT KB$;:FOR HT=0TO7:AR!=HT*.8:EX(PL,HT*3MOD8,0)=SIN(AR!)*(5-SC(PL,0))*1.1:EX(PL,HT*3MOD8,1)=COS(AR!)*(5-SC(PL,0))*1.1:NEXT HT
60 NEXTPL:CLS:LV=32:GOSUB300:LV=25:GOSUB300:LV=-16:GOSUB300:FORTC=1TO35:XB=RND(1)*214+15:YB=TR(XB)
70 IFYB>0THENFORHT=YBTOYB-RND(1)*9STEP-5:XC=XB+RND(1)*2-1:LINE(XC,HT)-(XC,HT-5),1:LINE(XC,HT-2)-(XC-2,HT-4),1:LINE(XC,HT-2)-(XC+2,HT-4),1:LINE(XC-1,HT)-(XC-3,HT-2),1:LINE(XC,HT)-(XC+3,HT-3),1:TR(XC)=-HT+5:NEXTHT
80 NEXTTC:GOSUB300:FOR PL=0TO1:BI=1-PL*2:FOR XB=PL*239+BI*(RND(1)*30+35)TO PL*230+5STEP-BI:FOR XC=XB-5TOXB+5:IF TR(XC)>0THENNEXTXC:GOTO90:ELSENEXTXB
90 XC=XB-BI*1:GN(PL,0)=XC:GN(PL,1)=TR(XC)-1:GN(PL,2)=70:GN(PL,3)=45:FOR HT=4TO29:GN(PL,HT)=1:NEXT HT:FORXB=XC+BI*5TOXC-BI*4STEP-BI:IFTR(XC)>TR(XB)THEN LINE(XB,TR(XC)-1)-(XB,TR(XB)),0:TR(XB)=TR(XC)-1
100 NEXT XB:FOR YB=TR(XC)-1TOTR(XC)-6STEP-1:FORHT=0TO30*(TR(XC)-YB):NEXTHT:LINE(XC-BI*3,YB)-(XC+BI,YB),1:SOUND450,1:NEXTYB:YB=TR(XC)-1:LINE(XC=BI*3,YB)-(XC-BI*2,YB),0:PRESET(XC+BI,YB):XB=XC:HT=1:GOSUB240
110 LINE(XC-BI*2,YB+1)-(XC+BI,YB+1),1:FORXB=XC+BITOXC-BI*3STEP-BI:TR(XB)=YB-6:NEXTXB:GOSUB300:NEXTPL:FORTC=10TO229:IFTR(TC)<0THENTR(TC)=-TR(TC)
120 NEXTTC:WD=RND(1)*51-26:GV=RND(1)*3+3:PL=(SC(0,1)<SC(1,1))+1:GOSUB300
130 BI=1-PL*2:XB=GN(PL,0):YB=GN(PL,1):FORHT=1TO10:LINE(XB-BI*2,YB-4)-(XB,YB-4),HT:SOUND999+(HT MOD2)*100,3:NEXTHT:LINE(4,6)-(235,16),1,B:PRINT@70,"WIND";USING"####";ABS(WD);:XC=52:GOSUB240:IFWD<0THENPRINT@75,"¢";:ELSEPRINT@75,"Ü";
140 PRINT@42,"POWDER";USING"##.#";GN(PL,2)/10;:PRINT@57,"ANGLE";USING"###";GN(PL,3);:PRINT@XC,;:KB$=INPUT$(1):KY=ASC(KB$):IFKY=28ANDXC=52THENXC=65
150 IFKY=29ANDXC=65THENXC=52
160 IFXC=52AND((GN(PL,2)<99ANDKY=30)OR(GN(PL,2)>30ANDKY=31))THENGN(PL,2)=GN(PL,2)-KY*2+61:SOUND1200-GN(PL,2)*10,1
170 IFXC=65AND((GN(PL,3)<90ANDKY=30)OR(GN(PL,3)>0ANDKY=31))THENAR!=GN(PL,3)/57.3:HT=0:GOSUB240:GN(PL,3)=GN(PL,3)-KY*10+305:HT=1:GOSUB240:SOUND1000-GN(PL,3)*5,1
180 IFKY<>13THEN140
190 LINE(XB-BI*2,YB-4)-(XB,YB-4),1:LINE(4,6)-(235,16),0,BF:DX!=(GN(PL,2)*BI*COS(AR!)+WD/2)/20:DY!=(GN(PL,2)*SIN(AR!))/20:XX!=BX:XY!=BY:BX=0:BY=0:HT=0:SOUND16383,2
200 XX!=XX!+DX!:XY!=XY!-DY!:DY!=DY!-GV/50:XB=XX!+.5:YB=XY!+.5:IFXB<0ORXB>239THENPRESET(BX,BY):GOTO280
210 YB=-63*(YB>63)-YB*(YB<64):IFYB=63OR(HT>20-SC(PL,0)*5ANDTR(XB)<=YB)THEN250
220 PRESET(BX,BY):IFYB>=0ANDTR(XB)>YBTHENPSET(XB,YB):BX=XB:BY=YB:ELSEBX=0:BY=0
230 HT=HT+1:GOTO200
240 AR!=GN(PL,3)/57.3:BX=XB+BI*(2+4*COS(AR!))+.5:BY=YB-2.7-3.3*SIN(AR!):LINE(XB+BI*2+.5,YB-3)-(BX,BY),HT:RETURN
250 PRESET(BX,BY):FORHT=0TO7:BX=XB+EX(PL,HT,0):BY=YB+EX(PL,HT,1):SOUND16383,1:IFBX<0ORBX>239ORBY>63THEN270
260 LINE(XB,YB)-(BX,BY),1:LINE(XB,YB)-(BX,BY),0:IFTR(BX)<=BYTHENTR(BX)=BY+1
270 NEXTHT
280 WD=WD+RND(1)*(SC(PL,0)*4-1)-SC(PL,0)*2-1:XC=PL:PL=(PL=1)+1:HT=0:BI=PL*2-1:BX=GN(PL,0):BY=GN(PL,1):FORXB=BX-BITOBX+BI*3STEPBI:HT=HT+BY-TR(XB)-1:NEXTXB:IFHT>20THEN130:ELSEFORHT=BY-15TOYB:LINE(BX-BI,HT)-(BX+BI*3,HT),0
290 XB=BX-5+RND(1)*9:LINE(BX,BY)-(XB,BY-10),1:SOUND16383,3:LINE(BX,BY)-(XB,BY-10),0:NEXTHT:SC(XC,1)=SC(XC,1)+1:PRINT13,"GUN DESTROYED":FORXC=0TO1:PRINT@XC*25+45,SC(XC,1);:NEXTXC:FORPL=PL=0TO2999:GOTO60
300 FORXC=VAL(RIGHT$(TIME$,2))TO0STEP-1:HT=RND(1)*32+LV:NEXTXC:IFLV<0THENRETURN:ELSEBI=RND(1)*9:XB=0:YB=HT
310 XC=XC+INT(RND(1)*15)+3:HT=HT-RND(1)*9+BI:IFHT>LV+31THENHT=LV+31:BI=5
320 IFHT<LV+10THENBI=7
330 BI=BI-(BI>5)*2-RND(1)*3:IFXC>239THEN XC=239
340 IFLV<>32THENLINE(XB,YB)-(XC,HT),1:XB=XC:GOTO360
350 DY!=(HT-YB)/(XC-XB+1):YC!=YB:FORXB=XBTOXC:TR(XB)=YC!:LINE(XB,YC!)-(XB,63),1:YC!=YC!+DY!:NEXTXB
360 YB=HT:IFXC<>239THEN310
370 RETURN
65000 LPRINTCHR$(27);"a";CHR$(8);
65005 'SCREEN DUMP FROM PCM MAG. PP 43-46 JAN 85
65010 PRINTCHR$(27);"p";
65020 FORZR%=0TO7
65030 FORZH%=0TO1
65040 LPRINTCHR$(27);"k";CHR$(224);CHR$(1);
65050 FORZC%=0TO39
65060 PRINT@40*ZR%+ZC%,"";
65070 FORZM!=65516TO65521
65080 ZV%=NOT PEEK(ZM!)
65090 IF ZH% THEN ZV%=(ZV% AND 240)/16 ELSE ZV%=ZV% AND 15
65100 ZV%=VAL(MID$("000192048240012204060252003195051243015207063255",3*ZV%+1,3))
65110 FORZP%=1TO2
65120 LPRINTCHR$(ZV%);
65130 NEXT
65140 NEXT
65150 NEXT
65160 LPRINT
65170 NEXT
65180 NEXT
65190 LPRINTCHR$(27);"2"
65200 PRINTCHR$(27);"q";
65210 RETURN