home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / gam / a-duel.ba next >
Text File  |  2006-10-19  |  5KB  |  67 lines

  1. 0 'Club 100 library - 415/939-1246 BBS     937-5039 NEWSLETTER, 932-8856 VOICE
  2. 1 KEY(1)ON:ON KEY GOSUB65000: CLS:BEEP:BEEP:'LOADED 2/10/85 WITH OPENING BY STAN KENDALL AS 'A-DUEL'.
  3. 2 ' WORKS AS OF 8/20/85
  4. 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
  5. 20 PRINT@49,"ARTILLERY DUEL <GA-21>":PRINT@89,"(C) JOHN D PERKINS 1983":PRINT@204,"<Q>uit":PRINT@230,"<P>LAY"
  6. 25 Z$=INKEY$:IFZ$="Q"ORZ$="q"THENMENU
  7. 30 IFZ$="P"ORZ$="p"THEN40
  8. 35 GOTO25
  9. 39 GOTO39
  10. 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 ";
  11. 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
  12. 60 NEXTPL:CLS:LV=32:GOSUB300:LV=25:GOSUB300:LV=-16:GOSUB300:FORTC=1TO35:XB=RND(1)*214+15:YB=TR(XB)
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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)
  18. 120 NEXTTC:WD=RND(1)*51-26:GV=RND(1)*3+3:PL=(SC(0,1)<SC(1,1))+1:GOSUB300
  19. 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,"Ü";
  20. 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
  21. 150 IFKY=29ANDXC=65THENXC=52
  22. 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
  23. 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
  24. 180 IFKY<>13THEN140
  25. 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
  26. 200 XX!=XX!+DX!:XY!=XY!-DY!:DY!=DY!-GV/50:XB=XX!+.5:YB=XY!+.5:IFXB<0ORXB>239THENPRESET(BX,BY):GOTO280
  27. 210 YB=-63*(YB>63)-YB*(YB<64):IFYB=63OR(HT>20-SC(PL,0)*5ANDTR(XB)<=YB)THEN250
  28. 220 PRESET(BX,BY):IFYB>=0ANDTR(XB)>YBTHENPSET(XB,YB):BX=XB:BY=YB:ELSEBX=0:BY=0
  29. 230 HT=HT+1:GOTO200
  30. 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
  31. 250 PRESET(BX,BY):FORHT=0TO7:BX=XB+EX(PL,HT,0):BY=YB+EX(PL,HT,1):SOUND16383,1:IFBX<0ORBX>239ORBY>63THEN270
  32. 260 LINE(XB,YB)-(BX,BY),1:LINE(XB,YB)-(BX,BY),0:IFTR(BX)<=BYTHENTR(BX)=BY+1
  33. 270 NEXTHT
  34. 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
  35. 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
  36. 300 FORXC=VAL(RIGHT$(TIME$,2))TO0STEP-1:HT=RND(1)*32+LV:NEXTXC:IFLV<0THENRETURN:ELSEBI=RND(1)*9:XB=0:YB=HT
  37. 310 XC=XC+INT(RND(1)*15)+3:HT=HT-RND(1)*9+BI:IFHT>LV+31THENHT=LV+31:BI=5
  38. 320 IFHT<LV+10THENBI=7
  39. 330 BI=BI-(BI>5)*2-RND(1)*3:IFXC>239THEN XC=239
  40. 340 IFLV<>32THENLINE(XB,YB)-(XC,HT),1:XB=XC:GOTO360
  41. 350 DY!=(HT-YB)/(XC-XB+1):YC!=YB:FORXB=XBTOXC:TR(XB)=YC!:LINE(XB,YC!)-(XB,63),1:YC!=YC!+DY!:NEXTXB
  42. 360 YB=HT:IFXC<>239THEN310
  43. 370 RETURN
  44. 65000 LPRINTCHR$(27);"a";CHR$(8);
  45. 65005 'SCREEN DUMP FROM PCM MAG. PP 43-46 JAN 85
  46. 65010 PRINTCHR$(27);"p";
  47. 65020 FORZR%=0TO7
  48. 65030 FORZH%=0TO1
  49. 65040 LPRINTCHR$(27);"k";CHR$(224);CHR$(1);
  50. 65050 FORZC%=0TO39
  51. 65060 PRINT@40*ZR%+ZC%,"";
  52. 65070 FORZM!=65516TO65521
  53. 65080 ZV%=NOT PEEK(ZM!)
  54. 65090 IF ZH% THEN ZV%=(ZV% AND 240)/16 ELSE ZV%=ZV% AND 15
  55. 65100 ZV%=VAL(MID$("000192048240012204060252003195051243015207063255",3*ZV%+1,3))
  56. 65110 FORZP%=1TO2
  57. 65120 LPRINTCHR$(ZV%);
  58. 65130 NEXT
  59. 65140 NEXT
  60. 65150 NEXT
  61. 65160 LPRINT
  62. 65170 NEXT
  63. 65180 NEXT
  64. 65190 LPRINTCHR$(27);"2"
  65. 65200 PRINTCHR$(27);"q";
  66. 65210 RETURN
  67.