home *** CD-ROM | disk | FTP | other *** search
- 120 DIM PS(70,3),MV(35,2),V(32)
- 130 DEF FNL(X)=INT(X/10)
- 140 DEF FNM(X)=X-INT(X/10)*10
- 145 CB=3:CW=3
- 150 FOR X=1 TO 32
- 160 READ V(X)
- 170 NEXT
- 180 FOR Y=1 TO 8
- 190 FOR X=1 TO 8
- 200 READ B(X,Y)
- 210 NEXT X,Y
- 220 DATA -2,1,-1,2,1,2,2,1,2,-1,1,-2,-1,-2,-2,-1
- 230 DATA 8,12,19,21,-8,-12,-19,-21
- 240 DATA 1,9,10,11,-1,-9,-10,-11
- 250 DATA 4,2,3,6,5,3,2,4,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0
- 260 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1
- 270 DATA -1,-1,-1,-1,-4,-2,-3,-6,-5,-3,-2,-4
- 280 PRINT:PRINT:PRINT:PRINT TAB(10);"**** CHESS ****"
- 290 PRINT TAB(10);"BY RANDY MILLER":PRINT:PRINT
- 300 INPUT "DO YOU WANT TO BE WHITE OR BLACK";C$
- 310 IF LEFT$(C$,1)="B" THEN 350
- 320 B(4,1)=5:B(4,8)=-5
- 330 B(5,1)=6:B(5,8)=-6
- 340 GOTO 360
- 350 PRINT "THANK YOU, THAT MEANS I GET TO GO FIRST":PRINT
- 360 FOR Y=1 TO 8
- 370 FOR X=1 TO 8
- 380 TM(X,Y)=B(X,Y)
- 390 NEXT X,Y
- 400 IF LEFT$(C$,1)<>"B" THEN 765
- 615 NB=1
- 616 REM -- COMPILE LIST OF POSSIBLE MOVES --
- 620 FOR X=1 TO 8
- 625 FOR Y=1 TO 8
- 630 IF SGN(B(X,Y))<>1 THEN 670
- 635 GOSUB 6100
- 640 FOR D=1 TO N
- 645 IF MV(D,1)=0 THEN 665
- 650 PS(NB,1)=MV(D,1)
- 655 PS(NB,2)=MV(D,2)
- 660 NB=NB+1
- 665 NEXT D
- 670 NEXT Y
- 675 NEXT X
- 676 IF NB>1 THEN 680
- 677 PRINT "I DON'T BELIEVE IT! - YOU WON!!!"
- 678 STOP
- 679 REM -- EVALUATE EACH POSSIBLE MOVE --
- 680 FOR D=1 TO NB-1
- 685 D1=FNL(PS(D,1))
- 690 D2=FNM(PS(D,1))
- 695 D3=FNL(PS(D,2))
- 700 D4=FNM(PS(D,2))
- 705 D5=B(D3,D4)
- 710 TM(D3,D4)=TM(D1,D2)
- 715 TM(D1,D2)=0
- 720 GOSUB 3000
- 721 PS(D,3)=EV
- 725 TM(D1,D2)=TM(D3,D4)
- 730 TM(D3,D4)=D5
- 734 NEXT D
- 735 REM
- 736 MZ=PS(1,3):MX=1
- 737 IF NB=2 THEN 760
- 740 FOR D=2 TO NB-1
- 745 IF PS(D,3)<=MZ THEN 755
- 750 MX=D:MZ=PS(D,3)
- 755 NEXT D
- 760 GOSUB 2000
- 765 GOSUB 1000
- 766 PRINT
- 770 GOTO 615
- 1000 REM -- INPUT ROUTINE --
- 1001 INPUT "YOUR MOVE";M,N
- 1002 IF M<>0 THEN 1011
- 1003 FOR P=1TO8:FORP1=1TO8:PRINTB(P1,P);:NEXTP1:PRINT:NEXTP
- 1010 GOTO 1001
- 1011 X1=FNL(M):Y1=FNM(M):X2=FNL(N):Y2=FNM(N)
- 1012 IF X1>8 OR X1<1 OR Y1>8 OR Y1<1 THEN 1020
- 1013 IF X2>8 OR X2<1 OR Y2>8 OR Y2<1 THEN 1020
- 1015 IF SGN(B(X1,Y1))=-1 THEN 1030
- 1020 PRINT "YOU CAN'T DO THAT."
- 1025 GOTO 1001
- 1030 REM
- 1035 FOR P=1 TO 8
- 1040 FOR P1=1 TO 8
- 1045 TM(P,P1)=B(P,P1)
- 1050 NEXT P1
- 1055 NEXT P
- 1060 GOSUB 8100
- 1065 IF LG=0 THEN 1020
- 1070 TM(X2,Y2)=TM(X1,Y1)
- 1075 TM(X1,Y1)=0
- 1080 B(X2,Y2)=B(X1,Y1)
- 1085 B(X1,Y1)=0
- 1086 PRINT "ACCEPTED."
- 1090 IF Y2 <> 1 OR B(X2,Y2) <> -1 THEN 1140
- 1100 PRINT "TO PROMOTE YOUR PAWN TO A KNIGHT, TYPE 2; FOR A BISHOP,"
- 1105 PRINT "TYPE 3; FOR A ROOK, TYPE 4; FOR A QUEEN, TYPE 5";
- 1110 INPUT P
- 1120 IF P>5 OR P<2 THEN 1100
- 1130 B(X2,Y2)=-P:TM(X2,Y2)=-P
- 1140 IF B(X2,Y2) <> -6 OR ABS(X1-X2) <> 2 THEN 1147
- 1142 IF X1-X2=2 THEN 1148
- 1143 B(8,8)=0:TM(8,8)=0
- 1144 B(X2-1,8)=-4:TM(X2-1,8)=-4
- 1145 CB=(CB AND -2)
- 1146 PRINT "IT'S ABOUT TIME YOU CASTLED!":PRINT
- 1147 RETURN
- 1148 B(1,8)=0:TM(1,8)=0
- 1149 B(X2+1,8)=-4:TM(X2+1,8)=-4
- 1150 CB=(CB AND -3)
- 1151 GOTO 1146
- 2000 REM -- OUTPUT ROUTINE --
- 2001 IF PS(MX,3)<200 THEN 2010
- 2002 PRINT "HA - LET'S SEE YOU GET OUT OF THIS -"
- 2003 PRINT "I MOVE";PS(MX,1);"TO";PS(MX,2)
- 2004 PRINT "THANKS FOR THE GOOD GAME..."
- 2005 STOP
- 2010 ON INT(RND(1)*4)+1 GOTO 2011,2012,2013,2014
- 2011 PRINT "I RECKON I'LL MOVE";:GOTO 2015
- 2012 PRINT "I GUESS I'LL TAKE";:GOTO 2015
- 2013 PRINT "MY MOVE IS";:GOTO 2015
- 2014 PRINT "I LIKE";
- 2015 PRINT PS(MX,1);"TO";PS(MX,2):PRINT
- 2020 D1=FNL(PS(MX,1))
- 2030 D2=FNM(PS(MX,1))
- 2040 D3=FNL(PS(MX,2))
- 2050 D4=FNM(PS(MX,2))
- 2060 B(D3,D4)=B(D1,D2)
- 2070 B(D1,D2)=0
- 2071 IF D4 <> 8 OR B(D3,D4) <> 1 THEN 2080
- 2072 PRINT "I PROMOTE MY PAWN TO A QUEEN!"
- 2073 B(D3,D4)=5
- 2080 RETURN
- 3000 REM
- 3001 EV=RND(1):RETURN
- 3005 EV=RND(1)/2:US=0
- 3006 EV=EV+D4/7
- 3007 FOR PJ=1 TO 8
- 3008 IF TM(PJ,8)<>1 THEN 3011
- 3009 TM(PJ,8)=5
- 3010 GOTO 3012
- 3011 NEXT PJ
- 3012 FOR X=1 TO 8
- 3020 FOR Y=1 TO 8
- 3030 CX=TM(X,Y):CS=SGN(CX)
- 3031 IF CS<>-1 THEN 3700
- 3035 EV=EV+CX
- 3040 GOSUB 6000
- 3042 IF N=0 THEN 3700
- 3045 US=US+N:EV=EV+N*CS/6
- 3050 IF N=0 THEN 3700
- 3060 FOR UX=1 TO N
- 3100 U1=MV(UX,1):U2=MV(UX,2)
- 3105 IF SGN(TM(FNL(U2),FNM(U2)))<>1 THEN 3500
- 3106 IF SGN(TM(FNL(U1),FNM(U1)))<>-1 THEN 3500
- 3120 EV=EV-TM(FNL(U2),FNM(U2))
- 3500 NEXT UX
- 3700 NEXT Y
- 3710 NEXT X
- 3711 IF US>0 THEN 3720
- 3712 EV=EV+1000
- 3713 GOTO 3725
- 3720 FOR X=3 TO 6:FOR Y=3 TO 6:EV=EV+TM(X,Y)/3:NEXT Y:NEXT X
- 3725 IF PJ>8 THEN 3740
- 3735 TM(PJ,8)=1
- 3740 RETURN
- 6000 REM
- 6010 R=0
- 6020 GOTO 6110
- 6100 R=1
- 6110 MV(1,1)=0
- 6112 S1=SGN(TM(X,Y))
- 6113 AA=X*10+Y
- 6114 N=1
- 6118 PRINT 6118,X,Y,TM(X,Y)
- 6120 ON ABS(TM(X,Y)) GOSUB 6300,6525,6600,6725,6850,6875
- 6121 PRINT 6121
- 6122 IF N=1 THEN 6130
- 6125 IF R=1 THEN 6140
- 6130 N=N-1
- 6135 RETURN
- 6140 REM -- IF RESTRICTED --
- 6141 N1=N-1
- 6142 N=N1
- 6143 FOR K=1 TO N1
- 6144 PRINT 6144,"K= ";K
- 6145 C1=FNL(MV(K,1))
- 6150 C2=FNM(MV(K,1))
- 6155 C3=FNL(MV(K,2))
- 6160 C4=FNM(MV(K,2))
- 6162 IF ABS(TM(C3,C4))=6 THEN 6164
- 6163 IF SGN(TM(C3,C4))<>S1 THEN 6165
- 6164 MV(K,1)=0:MV(K,2)=0:GOTO 6250
- 6165 C5=TM(C3,C4)
- 6170 TM(C3,C4)=TM(C1,C2)
- 6175 TM(C1,C2)=0
- 6180 REM -- FIND KING --
- 6182 FOR Y2=1 TO 8
- 6185 FOR X2=1 TO 8
- 6190 IF TM(X2,Y2)=6*S1 THEN 6202
- 6195 NEXT X2
- 6200 NEXT Y2
- 6202 REM
- 6205 FOR Y1=1 TO 8
- 6210 FOR X1=1 TO 8
- 6215 IF SGN(TM(X1,Y1))<>-S1 THEN 6230
- 6216 IF TM(X1,Y1)<>-S1 THEN 6220
- 6217 IF X1=X2 AND ABS(Y2-Y1)>2 THEN 6230
- 6220 GOSUB 8000
- 6225 IF LG=1 THEN 6260
- 6230 NEXT X1
- 6231 PRINT 6231,"Y1= ";Y1
- 6235 NEXT Y1
- 6240 TM(C1,C2)=TM(C3,C4)
- 6245 TM(C3,C4)=C5
- 6247 PRINT 6247,"K= ";K
- 6250 NEXT K
- 6255 RETURN
- 6260 MV(K,1)=0:MV(K,2)=0
- 6265 GOTO 6230
- 6300 REM -- RAW PAWN MOVE --
- 6305 IF S1=-1 THEN 6400
- 6310 IF Y+1>8 THEN 6390
- 6315 IF TM(X,Y+1)<>0 THEN 6340
- 6320 MV(N,1)=AA
- 6325 MV(N,2)=X*10+Y+1
- 6327 N=N+1
- 6330 IF Y>2 THEN 6340
- 6335 IF TM(X,Y+2)<>0 THEN 6340
- 6336 MV(N,1)=AA
- 6337 MV(N,2)=X*10+Y+2
- 6338 N=N+1
- 6340 IF X=1 THEN 6365
- 6345 IF SGN(TM(X-1,Y+1))<>-S1 THEN 6365
- 6350 MV(N,1)=AA
- 6355 MV(N,2)=(X-1)*10+Y+1
- 6360 N=N+1
- 6365 IF X=8 THEN 6390
- 6370 IF SGN(TM(X+1,Y+1))<>-S1 THEN 6390
- 6375 MV(N,1)=AA
- 6380 MV(N,2)=(X+1)*10+Y+1
- 6385 N=N+1
- 6390 RETURN
- 6400 IF Y-1<1 THEN 6500
- 6405 IF TM(X,Y-1)<>0 THEN 6450
- 6410 MV(N,1)=AA
- 6415 MV(N,2)=X*10+Y-1
- 6420 N=N+1
- 6425 IF Y<7 THEN 6450
- 6430 IF TM(X,Y-2)<>0 THEN 6450
- 6435 MV(N,1)=AA
- 6440 MV(N,2)=X*10+Y-2
- 6445 N=N+1
- 6450 IF X=1 THEN 6475
- 6455 IF SGN(TM(X-1,Y-1))<>-S1 THEN 6475
- 6460 MV(N,1)=AA
- 6465 MV(N,2)=(X-1)*10+Y-1
- 6470 N=N+1
- 6475 IF X=8 THEN 6500
- 6480 IF SGN(TM(X+1,Y-1))<>-S1 THEN 6500
- 6485 MV(N,1)=AA
- 6490 MV(N,2)=(X+1)*10+Y-1
- 6495 N=N+1
- 6500 RETURN
- 6525 REM -- RAW KNIGHT MOVE --
- 6535 FOR C6=1 TO 15 STEP 2
- 6540 KL=V(C6):KM=V(C6+1)
- 6545 XT=X+KL
- 6550 YT=Y+KM
- 6555 IF XT>8 OR XT<1 OR YT>8 OR YT<1 THEN 6570
- 6560 MV(N,1)=AA
- 6565 MV(N,2)=XT*10+YT
- 6567 N=N+1
- 6570 NEXT C6
- 6575 RETURN
- 6600 REM -- RAW BISHOP MOVE --
- 6605 EL=(8-Y)*-(8-Y <= 8-X)+(8-X)*-(8-X < 8-Y)
- 6610 IF EL=0 THEN 6630
- 6620 C6=11
- 6625 GOSUB 6695
- 6630 EL=(8-Y)*-(8-Y <= X-1)+(X-1)*-(X-1 < 8-Y)
- 6635 IF EL=0 THEN 6650
- 6640 C6=-9
- 6645 GOSUB 6695
- 6650 EL=(8-X)*-(8-X <= Y-1)+(Y-1)*-(Y-1 < 8-X)
- 6655 IF EL=0 THEN 6670
- 6660 C6=9
- 6665 GOSUB 6695
- 6670 EL=(Y-1)*-(Y-1 <= X-1)+(X-1)*-(X-1 < Y-1)
- 6675 IF EL=0 THEN 6690
- 6680 C6=-11
- 6685 GOSUB 6695
- 6690 RETURN
- 6695 FOR E=1 TO EL
- 6698 F=C6*E
- 6700 MV(N,1)=AA
- 6702 MV(N,2)=AA+F
- 6704 N=N+1
- 6706 IF TM(FNL(AA+F),FNM(AA+F)) <> 0 THEN 6715
- 6710 NEXT E
- 6715 RETURN
- 6725 REM -- RAW ROOK MOVE --
- 6730 EL=8-Y
- 6735 IF EL=0 THEN 6750
- 6740 C6=1
- 6745 GOSUB 6820
- 6750 EL=Y-1
- 6755 IF EL=0 THEN 6770
- 6760 C6=-1
- 6765 GOSUB 6820
- 6770 EL=8-X
- 6775 IF EL=0 THEN 6790
- 6780 C6=10
- 6785 GOSUB 6820
- 6790 EL=X-1
- 6795 IF EL=0 THEN 6815
- 6800 C6=-10
- 6810 GOSUB 6820
- 6815 RETURN
- 6820 FOR E=1 TO EL
- 6822 F=C6*E
- 6824 MV(N,1)=AA
- 6826 MV(N,2)=AA+F
- 6828 N=N+1
- 6830 IF TM(FNL(AA+F),FNM(AA+F)) <>0 THEN 6845
- 6840 NEXT E
- 6845 RETURN
- 6850 REM -- RAW QUEEN MOVE --
- 6855 GOSUB 6600
- 6860 GOSUB 6725
- 6865 RETURN
- 6875 REM -- RAW KING MOVE --
- 6880 IF X=8 THEN 6910
- 6885 C6=10:GOSUB 6965
- 6890 IF Y=1 THEN 6905
- 6895 C6=9:GOSUB 6965
- 6900 IF Y=8 THEN 6915
- 6905 C6=11:GOSUB 6965
- 6910 IF X=1 THEN 6940
- 6915 C6=-10:GOSUB 6965
- 6920 IF Y=8 THEN 6940
- 6925 C6=-9:GOSUB 6965
- 6930 IF Y=1 THEN 6940
- 6935 C6=-11:GOSUB 6965
- 6940 IF Y=1 THEN 6950
- 6945 C6=-1:GOSUB 6965
- 6950 IF Y=8 THEN 6960
- 6955 C6=1:GOSUB 6965
- 6960 RETURN
- 6965 MV(N,1)=AA
- 6970 MV(N,2)=AA+C6
- 6975 N=N+1
- 6980 RETURN
- 8000 REM
- 8010 RR=0
- 8020 GOTO 8110
- 8100 RR=1
- 8110 IF TM(X1,Y1)<>0 THEN 8120
- 8115 LG=0:RETURN
- 8120 S=SGN(TM(X1,Y1))
- 8126 A=X1*10+Y1
- 8127 B=X2*10+Y2
- 8129 PRINT 8129,X1,XY,TM(X1,Y1)
- 8130 ON ABS(TM(X1,Y1)) GOSUB 8250,8350,8400,8500,8575,8600
- 8131 PRINT 8131,LG,RR
- 8140 IF LG=0 THEN RETURN
- 8145 IF RR=1 THEN 8155
- 8150 LG=1:RETURN
- 8155 REM -- IF RESTRICTED --
- 8156 IF S=SGN(TM(X2,Y2)) THEN 8115
- 8157 T1=X1:T2=Y1:T3=X2:T4=Y2:T=TM(X2,Y2)
- 8158 TM(X2,Y2)=TM(X1,Y1):TM(X1,Y1)=0
- 8159 PRINT8159 ,"T2= ";T2 : SV=S
- 8160 REM -- FIND KING --
- 8161 FOR Y2=1 TO 8
- 8165 FOR X2=1 TO 8
- 8170 IF TM(X2,Y2)=6*S THEN 8185
- 8175 NEXT X2
- 8180 NEXT Y2
- 8181 STOP
- 8185 REM
- 8186 FOR Y1=1 TO 8
- 8190 FOR X1=1 TO 8
- 8195 P=TM(X1,Y1):IF SGN(P)=S OR P=0 OR ABS(P)=6 THEN 8210
- 8200 GOSUB 8000
- 8201 S=SV
- 8205 IF LG=1 THEN 8235
- 8210 NEXT X1
- 8215 NEXT Y1
- 8216 LG=1
- 8220 TM(T1,T2)=TM(T3,T4)
- 8225 TM(T3,T4)=T
- 8226 X1=T1:Y1=T2:X2=T3:Y2=T4
- 8227 PRINT8227 ,"Y1= ";Y1
- 8230 RETURN
- 8235 LG=0
- 8240 GOTO 8220
- 8250 REM ---- RAW PAWN MOVE --
- 8255 IF SGN(Y2-Y1)=S THEN 8270
- 8260 LG=0 : RETURN
- 8265 LG=1 : RETURN
- 8270 IF S=-1 THEN 8315
- 8275 IF B-A=1 OR B-A=2 THEN 8295
- 8280 IF TM(X2,Y2)=0 THEN 8260
- 8285 IF B-A=-9 OR B-A=11 THEN 8265
- 8290 GOTO 8260
- 8295 IF Y2=2 THEN 8265
- 8300 IF B-A=1 THEN 8265
- 8310 GOTO 8260
- 8315 IF A-B=1 OR A-B=2 THEN 8335
- 8320 IF TM(X2,Y2)=0 THEN 8260
- 8325 IF A-B=-9 OR A-B=11 THEN 8265
- 8330 GOTO 8260
- 8335 IF Y2=7 THEN 8265
- 8340 IF A-B=1 THEN 8265
- 8341 IF Y1=7 AND A-B=2 THEN 8265
- 8345 GOTO 8260
- 8350 REM -- RAW KNIGHT MOVE --
- 8355 FOR P=17 TO 24
- 8360 P1=V(P)
- 8365 IF A+P1<>B THEN 8375
- 8370 LG=1 : RETURN
- 8375 NEXT P
- 8380 LG=0:RETURN
- 8400 REM -- RAW BISHOP MOVE --
- 8401 IF Y2=Y1 OR X2=X1 THEN 8425
- 8402 SP=-9
- 8405 IF X2<X1 THEN 8445
- 8410 IF Y1<Y2 THEN 8430
- 8412 SP=9
- 8415 P=INT(ABS(A-B)/9)
- 8420 IF ABS(A-B)/9=P THEN 8455
- 8425 LG=0 :RETURN
- 8430 SP=11
- 8432 P=INT(ABS(A-B)/11)
- 8435 IF ABS(A-B)/11<>P THEN 8425
- 8440 GOTO 8455
- 8445 IF Y1<Y2 THEN 8415
- 8450 SP=-11:GOTO 8432
- 8455 GOSUB 8900
- 8460 RETURN
- 8500 REM -- RAW ROOK MOVES --
- 8505 IF Y2=Y1 THEN 8540
- 8510 IF X1=X2 THEN 8520
- 8515 LG=0:RETURN
- 8520 P=ABS(B-A)
- 8525 SP=SGN(B-A)
- 8530 GOSUB 8900
- 8535 RETURN
- 8540 P=ABS(INT((B-A)/10))
- 8545 SP=SGN(B-A)*10
- 8550 GOSUB 8900
- 8555 RETURN
- 8575 REM -- RAW QUEEN MOVE --
- 8580 GOSUB 8400
- 8581 IF LG=1 THEN RETURN
- 8585 GOSUB 8500
- 8590 RETURN
- 8600 REM -- KING MOVE --
- 8601 IF ABS(A-B)<>20 THE!ƒçüëëαßçüÅëƒ$1ƒ<Ç9ÇëŃ'0!ƒçüÅÇαßçüÅêƒ$1ƒ89âüîƒ<!3ƒ89âüêƒ'0!ƒçüëîαßçüÅâƒ0 ƒçüÅÇαßçüÅǃ$1ƒ89ÇŃ ƒ89Çîƒ'0!ƒçüëîαßçüÅǃÇ0!ç<Ç9äü1 ÇëçÇÇÅüççÇÇîäüÇîä <ÇîÅÇëÅüççÇÇîäÇîä0îÅüαßçüÅçƒ$1ƒ ç1!#çëäâ1! çëääâüŃ'0!ƒçüëîαßçüÅäƒ!0ƒëüîÇîüëÇîüêÇëüâÇëαßçüîŃ1 ƒëÇ<ƒ ƒîçÇÇÅççÇÇîäüÇîäƒ0ƒîÅüÇαßçüîîƒëÇ1!#çëäüëÇ1! çëäαßçüîëƒ1 ƒîÇîƒ ƒçαßçüîê FOR Y1=1 TO 8
- 8614 IF SGN(TM(X1,Y1))<>1 THEN 8617
- 8615 GOSUB 8100
- 8616 PRINT8616,"T2= ";T2 : IF LG=1 THEN 8621
- 8617 NEXT Y1,X1,P2
- 8618 PRINT 8618,"Y1= ";Y1 : LG=1
- 8619 PRINT 8619,"Y1= ";Y1:X1=T1:Y1=T2:X2=T3:Y2=T4
- 8620 PRINT 8620,"Y1= ";Y1 : RETURN
- 8621 PRINT8621,"Y1= ";Y1 : LG=0 : GOTO 8619
- 8622 FOR P=25 TO 32
- 8623 LG=0 :GOTO 8619
- 8625 P1=V(P)
- 8630 IF B=A+P1 THEN 8645
- 8635 NEXT P
- 8640 LG=0 :RETURN
- 8645 LG=1 :RETURN
- 8900 REM
- 8905 LG=0
- 8910 IF P=0 THEN STOP
- 8915 IF P>1 THEN 8925
- 8920 LG=1:RETURN
- 8925 FOR P1=1 TO P-1
- 8930 P2=A+SP*P1
- 8935 IF TM(FNL(P2),FNM(P2))<>0 THEN RETURN
- 8940 NEXT P1
- 8945 LG=1 :RETURN
- 9999 END
- 8925 FOR P1=1 TO P-1
- 8930 P2=A+SP*P1
- 8935 IF TM(FNL(P2),FNM(P2))<>0 THEN RETURN
- 8940 NEXT P1
- 8945 LG=1 :RETURN
- 999