home *** CD-ROM | disk | FTP | other *** search
- 4 DIM V(320):DIM X(10):DIM A(10):DIM P(10):DIM M(10):RANDOMIZE TIMER
- 5 KEY OFF:CLS
- 6 Z=1
- 8 FOR A=1 TO 2:A(A)=90:M(A)=100:P(A)=200:NEXT A
- 10 SCREEN 2:SCREEN 1
- 15 GOTO 54
- 20 FOR A=0 TO 12:LINE (0,A)-(320,A):NEXT A
- 21 IF P(NM)>M(NM)*10 THEN P(NM)=M(NM)*10
- 22 TB=0
- 23 LOCATE 1,32:PRINT" M:"M(NM)
- 24 LOCATE 1,1:PRINT" Player"NM
- 25 GOSUB 26:GOSUB 27:GOTO 28
- 26 LOCATE 1,13:PRINT" A:"A(NM):RETURN
- 27 LOCATE 1,22:PRINT" P:"P(NM):RETURN
- 28 A$=INKEY$:IF A$=CHR$(27) THEN WN=0:GOTO 5
- 29 IF A$="+" THEN A(NM)=A(NM)+1:GOSUB 34
- 30 IF A$="-" THEN A(NM)=A(NM)-1:GOSUB 34
- 31 IF A$=CHR$(13) THEN 48
- 32 IF A$=" " THEN 37
- 33 GOTO 28
- 34 IF A(NM)<0 THEN A(NM)=0
- 35 IF A(NM)>180 THEN A(NM)=180
- 36 GOSUB 26:RETURN
- 37 A$=INKEY$:IF A$=CHR$(27) THEN WN=0:GOTO 5
- 38 IF TB=1 THEN IF A$="+" THEN P(NM)=P(NM)+19 ELSE IF A$="-" THEN P(NM)=P(NM)-19
- 39 IF A$="+" THEN P(NM)=P(NM)+1:GOSUB 45
- 40 IF A$="-" THEN P(NM)=P(NM)-1:GOSUB 45
- 41 IF A$=CHR$(9) THEN TB=TB+1:IF TB=2 THEN TB=0
- 42 IF A$=CHR$(13) THEN 48
- 43 IF A$=" " THEN 28
- 44 GOTO 37
- 45 IF P(NM)<0 THEN P(NM)=0
- 46 IF P(NM)>M(NM)*10 THEN P(NM)=M(NM)*10
- 47 GOSUB 27:RETURN
- 48 A1=0:A=A(NM)
- 49 IF A>90 THEN A=180-A:A1=1
- 50 RETURN
- 54 IF WN>0 THEN PRINT:PRINT:PRINT"The last round's Winner was Player"WN
- 55 PRINT:PRINT:PRINT"Enter wind (to right): (-100 to 100)"
- 56 A$=INKEY$:A$=INKEY$:A$=INKEY$
- 57 INPUT W
- 58 W=W/20
- 60 X(1)=INT(RND*70)+5
- 62 X(2)=320-(INT(RND*70)+5)
- 64 SCREEN 2:SCREEN 1:GOTO 66
- 65 X=INT(RND*310)+5
- 66 IF R3=0 THEN GOSUB 210
- 67 FOR NM=1 TO 2
- 68 X=X(NM)
- 70 FOR C=1 TO 5 STEP .5:CIRCLE (X,V(X)),C,NM+1,,,5/5:NEXT C
- 75 NEXT NM
- 80 GOSUB 300
- 84 NM=INT(RND*2)+1:GOTO 87
- 85 NM=NM+1:IF NM>2 THEN NM=1
- 87 GOSUB 20
- 88 B=P(NM)
- 90 X=X(NM):Y=V(X):FY=0-((A/90)*B):FX=0-(((90-A)/90)*B)
- 95 IF A1=1 THEN FX=0-FX
- 100 LINE (X,Y)-(X,Y)
- 105 IF FY<0 THEN FY1=0-FY ELSE FY1=FY
- 106 IF FX<0 THEN FX1=0-FX ELSE FX1=FX
- 110 IF FY1>FX1 THEN 115
- 111 IF FX<0 THEN FX2=0-Z ELSE IF FX>0 THEN FX2=Z ELSE FX2=0
- 112 IF FX1=0 THEN IF FY1=0 THEN FX2=0:FY2=0:GOTO 118
- 113 IF FX<0 THEN FY2=FY/((0-FX)/Z) ELSE FY2=FY/(FX/Z)
- 114 GOTO 118
- 115 IF FY<0 THEN FY2=0-Z ELSE IF FY>0 THEN FY2=Z ELSE FY2=0
- 116 IF FY<0 THEN FX2=FX/((0-FY)/Z) ELSE FX2=FX/(FY/Z)
- 118 X=X+FX2:Y=Y+FY2
- 120 FY=FY+Z:FX=FX+(W*Z)
- 130 LINE -(X,Y),NM+1
- 140 X9=X
- 150 IF X9>320 THEN X9=320
- 160 IF X9<1 THEN X9=1
- 170 IF Y>=V(X9) THEN BEEP:GOTO 185
- 180 GOTO 105
- 185 IF X>0 THEN IF X<321 THEN GOSUB 330:GOSUB 600:GOSUB 410
- 200 R3=1:GOTO 85
- 210 FK=0:HK=INT(RND*168)+20:CK1=INT(RND*6)+2
- 215 CK5=INT(RND*25)+15
- 220 CK4=INT(RND*8)+1:FOR C=1 TO 320
- 230 CK=INT(RND*CK1)+1:CK3=CK3+1
- 235 IF CK3>1 THEN IF CK3/5<>INT(CK3/5) THEN 240 ELSE 250
- 240 IF CK<>1 THEN 260
- 250 CK2=INT(RND*2)+1:IF CK2=1 THEN FK=FK-1 ELSE FK=FK+1
- 255 IF FK>CK4 THEN FK=FK-1
- 256 IF FK<0-CK4 THEN FK=FK+1
- 260 HK=HK+FK:IF HK>198 THEN HK=198
- 265 IF HK<CK5 THEN HK=CK5:FK=0
- 270 V(C)=HK
- 280 NEXT C
- 290 RETURN
- 300 FOR C=0 TO 320
- 305 C1=C:IF C1=0 THEN C1=1
- 310 LINE (C,200)-(C,V(C1)),1
- 312 LINE (C,200)-(C,199),3
- 315 NEXT C
- 318 LINE (0,200)-(320,200),1
- 319 LINE (0,199)-(320,199),1
- 320 RETURN
- 330 FOR X5=1 TO 3
- 340 IF X5=1 THEN CL=3
- 350 IF X5=2 THEN CL=2
- 360 IF X5=3 THEN CL=0
- 370 FOR X6=0 TO 7 STEP .25
- 380 CIRCLE (X,Y),X6,CL,,,5/5
- 385 FOR X56=1 TO 10:NEXT X56
- 390 NEXT X6
- 400 NEXT X5:RETURN
- 410 REM
- 420 FOR X3=1 TO 15
- 430 H1=-7:H2=7
- 440 IF X3=1 THEN H1=-2:H2=2
- 445 IF X3=15 THEN H1=-2:H2=2
- 450 IF X3=14 THEN H1=-4:H2=4
- 455 IF X3=2 THEN H1=-4:H2=4
- 460 IF X3=13 THEN H1=-5:H2=5
- 465 IF X3=3 THEN H1=-5:H2=5
- 470 IF X3=12 THEN H1=-6:H2=6
- 475 IF X3=4 THEN H1=-6:H2=6
- 480 IF X3=11 THEN H1=-6:H2=6
- 485 IF X3=5 THEN H1=-6:H2=6
- 490 FOR X4=H1 TO H2 STEP 1
- 500 LINE (X+X4,X3+Y-7)-(X+X4,X3+Y-7),0
- 510 IF X+X4<1 THEN 540
- 520 IF X+X4>320 THEN 540
- 530 IF Y+X3-7>=V(X+X4) THEN LINE (X+X4,V(X+X4))-(X+X4,V(X+X4)),0:V(X+X4)=V(X+X4)+1:IF V(X+X4)>198 THEN V(X+X4)=198
- 535 IF Y+X3-7>=V(X+X4)-1 THEN LINE (X+X4,V(X+X4))-(X+X4,200),1
- 540 NEXT X4
- 550 NEXT X3
- 560 FOR NM2=1 TO 2
- 570 FOR C=1 TO 5 STEP .5:CIRCLE (X(NM2),V(X(NM2))),C,NM2+1,,,5/5:NEXT C
- 580 NEXT NM2
- 590 GOSUB 300:RETURN
- 600 FOR Y3=1 TO 2
- 610 REM
- 620 FOR X3=1 TO 15
- 630 H1=-7:H2=7
- 640 IF X3=1 THEN H1=-2:H2=2
- 645 IF X3=15 THEN H1=-2:H2=2
- 650 IF X3=14 THEN H1=-4:H2=4
- 655 IF X3=2 THEN H1=-4:H2=4
- 660 IF X3=13 THEN H1=-5:H2=5
- 665 IF X3=3 THEN H1=-5:H2=5
- 670 IF X3=12 THEN H1=-6:H2=6
- 675 IF X3=4 THEN H1=-6:H2=6
- 680 IF X3=11 THEN H1=-6:H2=6
- 685 IF X3=5 THEN H1=-6:H2=6
- 690 FOR Y4=X+H1 TO X+H2 STEP 1
- 700 IF Y4>X(Y3)+4 THEN 740
- 710 IF Y4<X(Y3)-4 THEN 740
- 720 IF X3+V(X)-7>V(X(Y3))+4 THEN 740
- 730 IF X3+V(X)-7<V(X(Y3))-4 THEN 740
- 735 M(Y3)=M(Y3)-1
- 737 IF M(Y3)>0 THEN 740
- 738 WN=Y3+1:IF WN=3 THEN WN=1
- 739 GOTO 5
- 740 NEXT Y4:NEXT X3:NEXT Y3:RETURN