home *** CD-ROM | disk | FTP | other *** search
- 10 SC=12:BO=0
- 20 POKE53280,BO:POKE53281,SC:PRINTCHR$(147):X=RND(-TI)
- 30 PRINT"**** BRIDGE 3.1 ****"
- 40 PRINT:DIM C(52),P(52),V(4,5),Y(4,5),F(4,13),T9(4),X(4),G(4)
- 50 DIM T$(104),E$(56),A$(13),Z$(26),D$(13)
- 60 A$="23456789TJQKA":N$="1234567"
- 70 B$="XCDHS"
- 80 PRINT" DO YOU WISH TO PLAY CONTRACT":INPUT"BRIDGE OR DUPLICATE BRIDGE ";Q$
- 90 R9=R9-4*INT(R9/4)+1:K1=0:K=R9:FORI=1TO52:P(I)=I:NEXT:V5=14
- 100 IFQ$="C"THEN120
- 110 PRINTCHR$(147):PRINT"SHUFFLING":GOTO220
- 120 A=3.14159:B=2.71828:C=1.41421:T1=.5
- 130 X=RND(-TI):A9=INT(RND(1)*(INT(X*1000))+1)
- 140 PRINT"[147]SHUFFLING"
- 150 X9=A9:FORJ=52TO1STEP-1
- 160 I2=I2+1:X9=1+ABS(X9):E=(E+(1+X9/B)*C)*I2:E=E-1*INT(E/A):E=E-INT(E)+.018
- 170 IFE>.5THENE=T1*(E-T1)+T1
- 180 R=INT(E*J+1):C(J)=P(R):P(R)=P(J):NEXTJ:IFC(1)<13THENR9=1:GOTO240
- 190 IFC(1)<27THENR9=2:GOTO240
- 200 IFC(1)<40THENR9=3:GOTO240
- 210 R9=4:GOTO240
- 220 FORJ=52TO1STEP-1
- 230 R=INT((RND(1))*J+1):C(J)=P(R):P(R)=P(J):NEXT
- 240 FORI=1TO4:T9(I)=13:M=I*13-13:FORJ=1TO13:F(I,J)=C(J+M):NEXT:NEXT
- 250 PRINT"[147]SHUFFLING":PRINT"DEALING"
- 260 FORI=1TO4
- 270 T1=0
- 280 FORJ=2TO13:IFF(I,J-1)>F(I,J)THEN300
- 290 T2=F(I,J):F(I,J)=F(I,J-1):F(I,J-1)=T2:T1=1
- 300 NEXTJ:IFT1=1THEN270
- 310 NEXT:T$="":FORL=1TO4:FORI=1TO13
- 320 J=F(L,I)-13*INT(F(L,I)/13):M=INT((F(L,I)-.1)/13):IFJ=0THENJ=13
- 330 Z$=MID$(A$,J,1)+MID$(B$,M+2,1):T$=T$+Z$:NEXT:NEXT
- 340 PRINT"DEALING":R=1:H=0
- 345 PRINT"SORTING":GOSUB2460:K=1:L5=4:PRINT"[147]"
- 350 PRINT"YOUR HAND (SOUTH):":PRINT:GOSUB2220:E$="":S$="1A":K=R9-1
- 360 PRINT:IFK>0THEN480
- 365 PRINT" YOU ARE THE DEALER, WHAT DO YOU BID?":PRINT
- 370 K=1:K1=K1+1:PRINT"SOUTH";
- 380 INPUTZ$:IFZ$=""THEN440
- 383 IFLEFT$(Z$,1)<>"P"THEN390
- 386 C(K1)=1:E$=E$+"00":IFK1<4THEN480
- 389 GOTO560
- 390 IFMID$(Z$,2,1)="N"THENZ$=LEFT$(Z$,1)+"X"
- 400 IFLEFT$(Z$,1)<>"D"THEN430
- 402 IFC(K1-1)=0THEN420
- 404 IFC(K1-2)=1THEN420
- 410 PRINT" YOU CANNOT DOUBLE YOUR OWN PARTNER'S BID !":GOTO440
- 420 C(K1)=0:E$=E$+"DB":IFK1<4THEN490
- 425 GOTO560
- 430 IFZ$>S$THEN450
- 440 PRINT" ILLEGAL BID, TRY AGAIN.":GOTO380
- 450 C(K1)=0:IFK1>4THEN470
- 460 FORI=1TO5:IFMID$(Z$,2,1)=MID$(B$,I,1)THENX(1)=6-I:NEXT
- 470 E$=E$+Z$:S$=Z$
- 480 K=K+1:IFK>4THEN370
- 485 GOSUB600:IFC(K1)=0THEN570
- 490 GOSUB2760:IFK=3THEN550
- 500 T1=LEN(E$):IFT1<5THEN550
- 510 Z$=MID$(E$,T1-1,2):IFZ$="00"THEN520
- 512 IFZ$="DB"THEN550
- 514 GOTO530
- 520 IFMID$(E$,T1-3,2)<>"00"THEN550
- 530 GOSUB3370:IFF1<>2THEN550
- 540 PRINTF$;": DOUBLE":E$=E$+"DB":IFK1<4THEN480
- 545 GOTO560
- 550 PRINTF$;": PASS":E$=E$+"00"
- 560 IFK1<4THEN480
- 562 IFMID$(E$,2*K1-5,6)="000000"THEN940
- 564 GOTO480
- 570 GOSUB3170:IFF1=1THEN490
- 580 S$=D$:E$=E$+S$:IFMID$(S$,2,1)="X"THEND$=MID$(S$,1,1)+"NT"
- 590 GOSUB2760:PRINTF$;": ";D$:GOTO480
- 600 K1=K1+1:C(K1)=0:L=K-2:IFL<=0THENL=K+2
- 610 IFK1>4THEN780
- 615 IFK1>2THEN660
- 620 IFP(K)>23THEN740
- 625 IFP(K)>12THEN650
- 630 C(K1)=1:RETURN
- 640 GOSUB3110:RETURN
- 650 GOSUB3050:RETURN
- 660 IFC(K1-2)=1THEN620
- 662 IFP(K)>5THEN680
- 664 IFP(L)>23THEN650
- 670 IFC(K1-1)=0THEN630
- 672 IFMID$(E$,2*K1-5,1)<>"D"THEN630
- 674 GOTO650
- 680 IFP(K)>9THEN740
- 685 IFV(K,X(K))<5THEN700
- 690 IFMID$(B$,6-X(K),1)>MID$(S$,2,1)THEN650
- 700 IFX(L)=5THEN650
- 710 IFV(K,X(L))>3THEN770
- 720 IFV(K,X(L))<2THEN630
- 725 IFY(K,X(L))=0THEN730
- 727 GOTO770
- 730 IFS$>="1X"THEN630
- 735 D$="1X":RETURN
- 740 IFP(K)<14THEN650
- 745 IFP(K)>18THENL=K:GOTO640
- 750 IFV(K,X(L))<4THEN650
- 755 IFV(K,X(K))<5THEN650
- 760 IFY(K,X(K))<4THEN650
- 765 GOTO640
- 770 GOSUB3080:RETURN
- 780 IFP(K)>5THEN790
- 785 IFP(K)+P(L)>25THEN870
- 790 IFV(K,X(K))>4THEN810
- 795 IFP(K)>16THEN810
- 800 IFC(K1-2)=1THEN630
- 802 IFP(K)<10THEN700
- 804 IFK1<8THEN930
- 806 GOTO870
- 810 IFC(K1-2)=0THEN830
- 820 IFP(K)<14THEN630
- 822 IFV(K,X(K))<5THEN630
- 824 GOTO650
- 830 IFMID$(E$,2*(K1-1)-2,1)="X"THEN900
- 840 IFK1>7THEN870
- 845 IFMID$(S$,1,1)>"2"THEN870
- 850 IFV(K,X(K))<5THEN870
- 855 IFP(K)>9THEN650
- 860 IFMID$(B$,6-X(K),1)>MID$(S$,2,1)THEN650
- 865 GOTO710
- 870 IFX(L)=0THEN650
- 875 M1=Y(K,X(K))+V(K,X(K))+Y(L,X(K))+V(L,X(K))
- 880 M2=Y(K,X(L))+V(K,X(L))+Y(L,X(L))+V(L,X(L))
- 890 IFM1>=M2THEN650
- 892 IFV(K,X(L))<2THEN650
- 894 X(K)=X(L):GOTO770
- 900 IFP(K)<6THEN630
- 905 IFMID$(E$,2*(K1-1)-3,2)="3X"THEN630
- 910 F1=0:FORI=1TO4:IFV(K,I)>4THENF1=1
- 920 NEXT:IFF1=1THEN650
- 922 IFK1>4THEN930
- 924 IFP(K)>12THEN640
- 930 GOSUB3140:RETURN
- 940 I2=LEN(E$)-7:T1=6:IFMID$(E$,I2,1)<>"D"THEN950
- 942 IFMID$(E$,I2-4,4)="0000"THENT1=12:GOTO950
- 946 T1=8
- 950 X=(K1*2-T1)/2+(R9-1):W8=X-4*INT(X/4):IFW8=0THENW8=4
- 960 T4=W8-2:IFT4<1THENT4=W8+2
- 970 K=0:T1=K1*2-2:I=0
- 980 I=I+2:K=K+1:IFMID$(E$,I,1)<>MID$(S$,2,1)THEN1010
- 990 K1=(K+(R9-1))-4*INT((K+(R9-1))/4):IFK1=0THENK1=4
- 1000 IFK1=W8ORK1=T4THEN1030
- 1010 IFI<T1THEN980
- 1015 PRINT" EVERYONE PASSES, REDEAL."
- 1020 FORY=1TO750:NEXT:GOTO90
- 1030 FORI=1TO5:IFMID$(S$,2,1)=MID$(B$,6-I,1)THENX=I
- 1040 NEXT
- 1050 IFX=5THENS$=MID$(S$,1,1)+"NT"
- 1060 IFMID$(E$,I2,1)="D"THENS$=S$+" (DBL)"
- 1070 PRINT"[147]":PRINT"THE CONTRACT IS: ";S$:K=K1:GOSUB2760
- 1080 PRINT"THE DECLARER IS: ";F$:PRINT:PRINT:K2=K1+2:IFK2>4THENK2=K1-2
- 1090 R=0:W8=0:T4=0:PRINT"REVIEW OF THE BIDDING:":PRINT:PRINT"SOUTH WEST NORTH EAST":
- 1095 T1=R9*7-7:PRINTTAB(T1);:I=-1:T2=R9-1:T3=LEN(E$)
- 1100 I=I+2:IFI>T3THEN1160
- 1110 D$=MID$(E$,I,2)+" ":T2=T2+1:IFT2>4THENPRINT:T2=1
- 1120 IFMID$(E$,I+1,1)="X"THEND$=MID$(E$,I,1)+"NT "
- 1130 IFMID$(E$,I,2)="DB"THEND$="DBL "
- 1140 IFMID$(E$,I,2)="00"THEND$="PASS"
- 1150 PRINTD$;" ";:GOTO1100
- 1160 PRINT:PRINT:PRINT" READY TO PLAY";:INPUTD$:PRINT"[147]"
- 1170 H=H+1:IFH=5THEN2050
- 1175 K=K+1:IFK>4THENK=1
- 1180 L=K-2:IFL<1THENL=K+2
- 1190 M1=K+1:IFM1=5THENM1=1
- 1200 M2=M1+2:IFM2>4THENM2=M1-2
- 1210 IFH>1THEN1290
- 1215 G2=0
- 1220 IFR=13THEN2930
- 1225 R=R+1:PRINT"[147]ROUND:";R:
- 1227 PRINT"";S$;" WE:";W8;" THEY:";T4:K3=K:PRINT
- 1230 IFK1-2*INT(K1/2)=0THEN1240
- 1235 L5=5:K=3:PRINT" NORTH:":GOSUB2220:GOTO1270
- 1240 K=K1+2:IFK1=4ANDR=1THEN1270
- 1245 IFK>4THENK=K1-2
- 1250 L5=7:IFK1=2THENL5=17
- 1260 GOSUB2760:PRINTTAB(L5-4);F$;":":GOSUB2220
- 1270 K=1:L5=7:IFK1<>4THEN1280
- 1275 L5=17
- 1280 PRINTTAB(L5-4);"SOUTH:":GOSUB2220:K=K3
- 1290 IFK>1THEN1370
- 1295 K2=K:GOSUB2360:GOSUB2760
- 1300 PRINTF$;" PLAYS";:INPUTD$:IFLEN(D$)<2THEN1350
- 1305 IFH=1THEN1330
- 1310 IFMID$(D$,2,1)=MID$(B$,6-N,1)THEN1330
- 1315 IFV(K,N)=0THEN1330
- 1320 PRINT"RENEGE, TRY AGAIN.":GOTO1300
- 1330 F1=0:FORI=1TOT9(K)*2-1:IFD$=MID$(Z$,I,2)THENF1=1
- 1340 NEXT:IFF1=1THEN1360
- 1350 PRINT" ERROR IN LEAD, TRY AGAIN.":GOTO1300
- 1360 GOSUB2080:IFG(K)<G2THEN1170
- 1365 G2=G(K):GOTO1170
- 1370 IFK<>3THEN1390
- 1375 IFK1-2*INT(K1/2)=0THEN1390
- 1380 K2=K:GOSUB2360:GOSUB2760:GOTO1300
- 1390 IFH>1THEN1830
- 1395 GOSUB2620
- 1400 IFT1=4THEN1420
- 1405 IFK=K1ORL=K1THEN1450
- 1410 IFVAL(MID$(S$,1,1))>7-RTHEN1450
- 1420 IFV(K,X(L))=0THEN1450
- 1422 IFX(L)<>XTHEN1430
- 1424 IFK=K1ORL=K1THEN1430
- 1426 GOTO1590
- 1430 K2=K:GOSUB2360:T1=0:FORI=1TOX(L):T1=T1+V(K,I):NEXT:D$=MID$(Z$,2*T1-1,2)
- 1440 GOSUB2080:G2=G(K):GOSUB2760:PRINTF$;" PLAYS: ";D$:GOTO1170
- 1450 IFV(K,X)=0THEN1520
- 1452 IFK=K1ORL=K1THEN1460
- 1454 GOTO1520
- 1460 IFV(M1,X)+V(M2,X)=0THEN1520
- 1470 K2=K:K$=MID$(B$,6-X,1):GOSUB2840:G3=G(K):K2=L:GOSUB2840
- 1480 IFG3>G(K)THEN1510
- 1490 K2=K:GOSUB2360:T1=0:FORI=1TOX:T1=T1+V(K,I):NEXT
- 1500 D$=MID$(Z$,2*T1-1,2):GOTO1440
- 1510 K2=K:GOSUB2840:GOTO1440
- 1520 J=0
- 1530 J=J+1:IFV(M1,J)>0THEN1540
- 1535 IFV(M1,X)>0THEN1570
- 1540 IFV(M2,J)>0THEN1550
- 1545 IFV(M2,X)>0THEN1570
- 1550 IFJ=XTHEN1570
- 1555 K$=MID$(B$,6-J,1):K2=K:GOSUB2840:T2=G(K):K2=M1:GOSUB2840:IFG(K)>T2THEN1570
- 1560 K2=M2:GOSUB2840:IFG(K)<T2THEN1580
- 1570 IFJ<4THEN1530
- 1572 IFV(K,X(L))=0THEN1590
- 1574 GOTO1430
- 1580 K2=K:GOSUB2840:GOTO1440
- 1590 K2=K:GOSUB2360:T1=300:T2=1:FORI=1TO27-2*RSTEP2:D$=MID$(Z$,I,2)
- 1600 IFMID$(D$,2,1)=MID$(S$,2,1)THEN1620
- 1605 GOSUB2880:IFG(K)>T1THEN1620
- 1610 T1=G(K):T2=I
- 1620 NEXT:D$=MID$(Z$,T2,2):GOSUB2080:IFG(K)>G2THENG2=G(K)
- 1630 GOSUB2760:PRINTF$;" PLAYS: ";D$:GOTO1170
- 1640 T1=0:FORI=1TON:T1=T1+V(K,I):NEXT:K2=K:GOSUB2360:D$=MID$(Z$,2*T1-1,2)
- 1650 GOSUB2080:IFG(K)>G2THENG2=G(K)
- 1660 GOSUB2760:PRINTF$;" PLAYS: ";D$:GOTO1170
- 1670 IFV(K,X)=0THEN1590
- 1675 G3=G2
- 1680 IFH<4THEN1750
- 1685 IFG(L)=G2THEN1590
- 1690 T1=0:IFX=1THEN1710
- 1700 FORI=1TOX-1:T1=T1+V(K,I)*2:NEXT
- 1710 K2=K:GOSUB2360:T2=T1+2*V(K,X)-1
- 1720 I=T1-1
- 1730 I=I+2:D$=MID$(Z$,I,2):GOSUB2880:IFG(K)>G3THEN1740
- 1732 IFI=T1+1THEN1590
- 1734 GOTO1920
- 1740 IFI<T2THEN1730
- 1742 IFG(K)>G3THEN1930
- 1746 GOTO1590
- 1750 IFH=3THEN1780
- 1752 IFV(L,N)>0THEN1770
- 1754 IFV(L,X)>0THEN1590
- 1760 G(L)=0:GOTO1780
- 1770 K2=L:K$=MID$(B$,6-N,1):GOSUB2840:G(L)=G(K)
- 1780 K2=M1:IFV(M1,N)>0THEN1800
- 1785 IFV(M1,X)=0THENG4=0:GOTO1810
- 1790 K$=MID$(B$,6-X,1):GOSUB2840:G4=G(K):GOTO1810
- 1800 K$=MID$(B$,6-N,1):GOSUB2840:G4=G(K)
- 1810 IFG4>G3THENG3=G4
- 1820 IFG(L)<G3THEN1690
- 1825 GOTO1590
- 1830 IFV(K,N)=0THEN1670
- 1832 IFV(K,N)=1THEN1640
- 1834 G3=G2:IFH<4THEN1940
- 1840 IFG(L)=G2THEN1640
- 1850 T1=0:IFN=1THEN1860
- 1855 FORI=1TON-1:T1=T1+V(K,I)*2:NEXT
- 1860 T2=T1+1+V(K,N)*2-2:K2=K:GOSUB2360:I=T1-1
- 1870 I=I+2:D$=MID$(Z$,I,2):GOSUB2880:IFG(K)>G3THEN1880
- 1875 GOTO1890
- 1880 IFI<T2THEN1870
- 1890 IFI=T1+1THEN1930
- 1895 IFG(K)>G3THEN1930
- 1900 D$=MID$(Z$,I-2,2):GOSUB2880:IFG(K)>G3THEN1920
- 1910 IFH=3THENGOSUB2380:IFF1=1THEN1650
- 1920 D$=MID$(Z$,I-2,2):GOTO1650
- 1930 D$=MID$(Z$,T2,2):GOTO1650
- 1940 IFH=3THEN1980
- 1945 K2=L:IFV(L,N)>0THEN1970
- 1950 IFV(L,X)>0THEN1960
- 1955 G(L)=0:GOTO1980
- 1960 K$=MID$(B$,6-X,1):GOSUB2840:G(L)=G(K):GOTO1980
- 1970 K$=MID$(B$,6-N,1):GOSUB2840:G(L)=G(K)
- 1980 K2=M1:IFV(M1,N)>0THEN2010
- 1990 IFV(M1,X)>0THEN2000
- 1995 G4=0:GOTO2020
- 2000 K$=MID$(B$,6-X,1):GOSUB2840:G4=G(K):GOTO2020
- 2010 K$=MID$(B$,6-N,1):GOSUB2840:G4=G(K)
- 2020 IFG4>G3THENG3=G4
- 2030 IFG(L)>=G3THEN1640
- 2035 IFH<>3THEN1850
- 2040 GOSUB2380:IFF1=1THEN1650
- 2045 GOTO1850
- 2050 T3=0:FORK=1TO4:IFG(K)>T3THENT3=G(K):T1=K
- 2060 NEXT:IFT1-2*INT(T1/2)=1THENW8=W8+1:GOTO2070
- 2065 T4=T4+1
- 2070 H=0:K=T1-1:GOTO1170
- 2080 T3=N:FORI=1TO4:IFMID$(D$,2,1)<>MID$(B$,6-I,1)THEN2100
- 2090 V(K,I)=V(K,I)-1:N=I
- 2100 NEXT:T2=(111-8*R)-2*(H-1):I=-1
- 2110 I=I+2
- 2120 IFD$=MID$(T$,I,2)THEN2130
- 2125 IFI<T2THEN2110
- 2130 IFI=T2THEN2160
- 2135 IFI>1THEN2150
- 2140 T$=MID$(T$,3,104):GOTO2170
- 2150 T$=MID$(T$,1,I-1)+MID$(T$,I+2,104):GOTO2170
- 2160 IFT2=1THEN2170
- 2165 T$=MID$(T$,1,T2-1)
- 2170 T9(K)=T9(K)-1:IFH=1ORN=T3THEN2200
- 2180 IFN=XTHEN2190
- 2185 N=T3:G(K)=0:RETURN
- 2190 N=T3
- 2200 GOSUB2880
- 2210 RETURN
- 2220 D$="":T1=(28-2*R)*(K-1)+1:Z$=MID$(T$,T1,2*(14-R)-1)
- 2230 FORI=1TO27-2*RSTEP2:D$=D$+MID$(Z$,I,1):NEXT
- 2240 IFV(K,1)=0THEN2260
- 2250 PRINTTAB(L5);"[193] ";MID$(D$,1,V(K,1)):PRINT:GOTO2270
- 2260 PRINTTAB(L5);"[193]":PRINT
- 2270 IFV(K,2)=0THEN2290
- 2280 PRINTTAB(L5);"[211][144] ";MID$(D$,V(K,1)+1,V(K,2)):PRINT:GOTO2300
- 2290 PRINTTAB(L5);"[211][144]":PRINT
- 2300 IFV(K,3)=0THEN2320
- 2310 T1=V(K,1)+V(K,2):PRINTTAB(L5);"[218][144] ";MID$(D$,T1+1,V(K,3)):PRINT:GOTO2330
- 2320 PRINTTAB(L5);"[218][144]":PRINT:IFV(K,4)=0THEN2350
- 2330 IFV(K,4)=0THEN2350
- 2340 T1=V(K,1)+V(K,2)+V(K,3):PRINTTAB(L5);"[216] ";MID$(D$,T1+1,V(K,4)):PRINT:RETURN
- 2350 PRINTTAB(L5);"[216]":PRINT:RETURN
- 2360 T5=0:IFK2=1THEN2370
- 2365 FORI=1TOK2-1:T5=T5+2*T9(I):NEXT
- 2370 Z$=MID$(T$,T5+1,2*T9(K2)):RETURN
- 2380 K2=K:GOSUB2360:T1=0:IFN=1THEN2390
- 2385 FORI=1TON-1:T1=T1+V(K,I)*2:NEXT
- 2390 T2=T1+1+V(K,N)*2-2
- 2400 K$=MID$(B$,6-N,1):GOSUB2840:I=T1-1:IFG(K)>G3THENF1=0:RETURN
- 2410 I=I+2
- 2420 D$=MID$(Z$,I,2):GOSUB2880:IFG(K)>G2THEN2430
- 2425 GOTO2440
- 2430 IFI<T2THEN2410
- 2440 IFI<>T1+1THEN2450
- 2445 D$=MID$(Z$,T2,2):F1=1:RETURN
- 2450 D$=MID$(Z$,I-2,2):F1=1:RETURN
- 2460 FORI=1TO4:P(I)=0:FORJ=1TO5:V(I,J)=0:Y(I,J)=0:NEXT:NEXT
- 2470 FORI=1TO4:FORJ=1TO13
- 2480 T2=F(I,J)-13*INT(F(I,J)/13):T1=5-(INT((F(I,J)-.9)/13)+1):IFT2=0THENT2=13
- 2490 IFT2<10THEN2500
- 2495 T2=T2-9:Y(I,T1)=Y(I,T1)+T2
- 2500 V(I,T1)=V(I,T1)+1:NEXT:NEXT
- 2510 FORI=1TO4:FORJ=1TO4:T1=3-V(I,J):IFT1<=0THENT1=0
- 2520 P(I)=P(I)+Y(I,J)+T1:F(I,J)=V(I,J)+(2*(V(I,J)-4)+Y(I,J)):IFV(I,J)<4THENF(I,J)=0
- 2530 NEXT:NEXT:I=0
- 2540 I=I+1:IFI>4THENRETURN
- 2545 T1=-1:FORJ=1TO4:IFF(I,J)<=T1THEN2560
- 2550 T1=F(I,J):T2=J
- 2560 NEXTJ
- 2570 IFF(I,1)+T2>1THEN2580
- 2575 X(I)=5:GOTO2590
- 2580 X(I)=T2
- 2590 IFP(I)<16THEN2610
- 2592 FORJ=1TO4:IFY(I,J)<2THEN2610
- 2594 IFV(I,J)<3THEN2610
- 2600 NEXT:X(I)=5:V(I,5)=5:Y(I,5)=7:F(I,5)=42
- 2610 GOTO2540
- 2620 GOSUB2780:IFT1>0THENRETURN
- 2625 K2=L:GOSUB2360:T2=0
- 2630 FORJ=1TO4:T3=1+T2:F(L,J)=0:FORI=T3TOT3+V(L,J)-1:D$=MID$(Z$,2*I-1,2):GOSUB2880
- 2635 N2=N2-9:IFN2<0THENN2=0
- 2640 F(L,J)=F(L,J)+N2:NEXT:T2=T2+V(L,J):NEXT
- 2650 IFMID$(S$,2,1)="X"THEN2700
- 2655 IFV(L,X)=0THEN2700
- 2660 FORJ=1TO4:IFV(L,J)>0THEN2670
- 2663 IFV(K,J)=0THEN2670
- 2666 GOTO2690
- 2670 NEXT
- 2680 IFV(L,4)>0THEN2700
- 2690 F(L,J)=10
- 2700 T2=-1:FORJ=1TO4:IFF(L,J)<=T2THEN2710
- 2705 T2=F(L,J):F1=J
- 2710 NEXT:X(L)=F1:RETURN
- 2720 GOSUB2360:T3=0:IFN=1THEN2740
- 2730 FORI=1TON-1:T3=T3+V(K2,I):NEXT
- 2740 IFT3=14-RTHENT3=T3-1
- 2750 D$=MID$(Z$,2*T3+1,2):GOSUB2880:RETURN
- 2760 IFK=1THENF$="SOUTH"
- 2762 IFK=2THENF$=" WEST"
- 2764 IFK=3THENF$="NORTH"
- 2766 IFK=4THENF$=" EAST"
- 2768 RETURN
- 2770 RETURN
- 2780 J=0
- 2790 J=J+1:K$=MID$(B$,6-J,1):IFJ=XTHEN2800
- 2792 K2=L:GOSUB2840:T1=G(K):K2=M1:GOSUB2840:IFG(K)>T1THEN2800
- 2794 K2=M2:GOSUB2840:IFG(K)<T1THEN2810
- 2800 IFJ<4THEN2790
- 2805 T1=0:RETURN
- 2810 IFV(K,J)=0THEN2800
- 2812 IFX=5THEN2830
- 2814 IFV(M1,J)>0THEN2820
- 2816 IFV(M1,X)>0THEN2800
- 2820 IFV(M2,J)>0THEN2830
- 2825 IFV(M2,X)>0THEN2800
- 2830 X(L)=J:T1=4:RETURN
- 2840 GOSUB2360:I=0:F1=14-R
- 2850 I=I+1:IFMID$(Z$,2*I,1)=K$THEN2870
- 2860 IFI<F1THEN2850
- 2865 G(K)=0:RETURN
- 2870 D$=MID$(Z$,2*I,2):GOSUB2880:RETURN
- 2880 N1=0:IFMID$(D$,2,1)=MID$(S$,2,1)THENN1=13
- 2890 FORI2=9TO13:IFMID$(D$,1,1)=MID$(A$,I2,1)THENN2=I2
- 2900 NEXT
- 2910 IFMID$(D$,1,1)<"A"THENN2=VAL(MID$(D$,1,1))-1
- 2920 G(K)=N1+N2:RETURN
- 2930 PRINT:PRINT" THE CONTRACT WAS ";S$;".":T1=VAL(LEFT$(S$,1)):IFK1-2*INT(K1/2)=1THEN2970
- 2933 T3=T4-6-T1:IFT3=0THEN2950
- 2936 IFT3>0THEN2960
- 2940 PRINT:PRINT" YOUR OPPONENTS WERE SET";ABS(T3);"TRICK(S).":GOTO3020
- 2950 PRINT:PRINT" YOUR OPPONENTS MADE THEIR CONTRACT.":GOTO3020
- 2960 PRINT:PRINT" YOUR OPPONENTS MADE THEIR CONTRACT":PRINT" PLUS";T3;"OVERTRICK(S)."
- 2965 GOTO3020
- 2970 T3=W8-6-T1:IFT3=0THEN2990
- 2975 IFT3>0THEN3000
- 2980 PRINT:PRINT" YOU WERE SET";ABS(T3);"TRICK(S).":GOTO3020
- 2990 PRINT:PRINT" YOU MADE YOUR CONTRACT.":GOTO3020
- 3000 PRINT:PRINT" YOU MADE YOUR CONTRACT"
- 3010 PRINT" PLUS";T3;"OVERTRICK(S)."
- 3020 IFLEFT$(Q$,1)="D"THEN3040
- 3025 PRINT:PRINT" CONTINUE ";:INPUTD$:IFLEN(D$)=0THEN90
- 3030 IFMID$(D$,1,1)="N"THENSTOP
- 3035 GOTO90
- 3040 PRINT:PRINT" THE HAND YOU JUST":PRINT"PLAYED WAS #";:PRINTA9:END
- 3050 FORI=1TO7:Z$=MID$(N$,I,1)+MID$(B$,6-X(K),1):IFZ$<=S$THEN3070
- 3060 D$=Z$:RETURN
- 3070 NEXT:RETURN
- 3080 FORI=1TO7:Z$=MID$(N$,I,1)+MID$(B$,6-X(L),1):IFZ$<=S$THEN3100
- 3090 D$=Z$:RETURN
- 3100 NEXT:RETURN
- 3110 FORI=1TO7:Z$=MID$(N$,I,1)+MID$(B$,6-X(L),1):IFZ$<=S$THEN3130
- 3120 D$=MID$(N$,I+1,1)+MID$(B$,6-X(L),1):RETURN
- 3130 NEXT:RETURN
- 3140 FORI=1TO7:Z$=MID$(N$,I,1)+MID$(B$,1,1):IFZ$<=S$THEN3160
- 3150 D$=Z$:RETURN
- 3160 NEXT:RETURN
- 3170 T2=P(K)+P(L):IFK-2*INT(K/2)=0THENT2=T2-2
- 3180 F1=0:IFMID$(S$,1,1)<"2"THENRETURN
- 3185 IFMID$(Z$,1,1)="3"THEN3200
- 3190 IFMID$(Z$,1,1)="4"THEN3210
- 3192 IFMID$(Z$,1,1)="5"THEN3240
- 3194 IFMID$(Z$,1,1)="6"THEN3270
- 3196 IFMID$(Z$,1,1)="7"THEN3280
- 3200 IFT2<23THEN3290
- 3205 GOTO3300
- 3210 IFT2<26THEN3290
- 3220 T1=LEN(E$):IFMID$(E$,T1-3,2)="3X"THEN3290
- 3230 IFMID$(Z$,2,1)="X"THEN3290
- 3235 GOTO3300
- 3240 IFT2<29THEN3290
- 3242 IFT2>30THENRETURN
- 3246 T1=LEN(E$)
- 3250 IFMID$(E$,T1-3,2)="4S"THEN3290
- 3260 IFMID$(E$,T1-3,2)="4H"THEN3290
- 3265 GOTO3300
- 3270 IFT2<33THEN3290
- 3275 GOTO3300
- 3280 IFT2<37THEN3290
- 3285 IFS$=MID$(E$,2*(K1-1)-3,2)THEN3290
- 3287 RETURN
- 3290 F1=1:C(K1)=1:RETURN
- 3300 IFT2>30THENRETURN
- 3310 FORI2=1TO5:IFMID$(Z$,2,1)<>MID$(B$,I2,1)THEN3330
- 3320 T1=VAL(MID$(Z$,1,1)):I=I2
- 3330 NEXT:IFI=1THEN3350
- 3335 IFI>3THEN3360
- 3340 IFT1>5THEN3290
- 3345 RETURN
- 3350 IFT1>3THEN3290
- 3355 RETURN
- 3360 IFT1>4THEN3290
- 3365 RETURN
- 3370 F1=0:IFMID$(E$,T1-5,6)="DB0000"THENRETURN
- 3375 T2=P(1)+P(3):I=3*VAL(LEFT$(S$,1))+13:IFI>=T2THENF1=2
- 3380 RETURN
-