0 CLS:PRINT@130,"Initializing...";:GOTO58'CRIBGE.BA James A. McGreevy 1986 CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 1 PRINT@81,"You:"X;J:PRINT@162,"Me:"X;I:IFGTHENSOUND999,3*BB:SOUND700,4*BBELSEIFHTHENSOUND9999,5*BB:SOUND16383,9*BB 2 IFJ>120ORI>120THENGOSUB7:GOTO171ELSEONCGOTO101,146,152,160,163,169,73,34,145 3 SOUND2439,5*BB:FORE=0TO9-9*BB:PRINT@317,"**":NEXT:RETURN 4 GOSUB6:PRINT@318,X"P"CHR$(153)V; 5 F=RND(1):IFINKEY$=""THEN5ELSEPRINTX"Q ":RETURN 6 F=RND(1):IFINKEY$=""THENRETURNELSE6 7 FORE=0TO133:F=RND(1):NEXT 8 FORE=0TO99+PEEK(63791)/3:F=RND(1):NEXT:RETURN 9 E=POS(1)*6:F=CSRLIN*8:IFAW>0THENLINE(E-2,F-2)-(E+12,F+17),AW,B:IFAW>1THENPRINT" "W;V;V" 10 LINE(E-1,F-1)-(E+11,F+16),AW,B 11 IFAW<2THENPRINTMID$(Z,B(C),1)" "V;V;W;Z(MM)MID$(Z,C(C),1)U;:IFAWTHENIFC(C)=14THENLINE(E+7,F+10)-(E+9,F+13),0,BFELSEIFC(C)=16THENLINE(E+7,F+10)-(E+9,F+12),0,BF 12 AW=1:RETURN 13 G=0:FORB=2TO2^C-1:D=B:E=1:F=0 14 IFDMOD2THENF=F+D(H(E)) 15 D=D/2:E=E+1:IFDTHEN14 16 IFF=15THENG=G+2 17 NEXT:E=0:FORB=1TO13:I(B)=0:NEXT:FORB=1TOC:I(B(H(B)))=I(B(H(B)))+1:NEXT:FORB=1TO11:D=B:IFI(D)ANDI(D+1)>0ANDI(D+2)>0THENE=3:B=99:IFI(D+3)THENE=E+1:IFI(D+4)THENE=E+1 18 IFB=99THENE=E*I(D)*I(D+1)*I(D+2):IFI(D+3)THENE=E*I(D+3) 19 NEXT:G=G+E:E=0:IFC(H(1))=C(H(2))ANDC(H(2))=C(H(3))ANDC(H(3))=C(H(4))THENE=E+4:IFC=5ANDC(H(4))=C(H(5))THENE=E+1 20 IFCRANDE<5THENE=0 21 G=G+E:IFC<5THEN23ELSEFORB=1TO4:IFB(H(B))=11ANDC(H(B))=C(H(5))THENG=G+1 22 NEXT:GOSUB25 23 FORB=1TOC-1:IFB(H(B))=B(H(B+1))THENG=G+2:B=B+1:IFBB[H(D+1)]THENE=H(D):H(D)=H(D+1):H(D+1)=E 26 NEXT:NEXT:RETURN 27 PRINT" scored "Z(A)" points."U;:IFA=1THENPRINTV;V;T". "U 28 RETURN 29 FORA=134TO149STEP5:AW=2:PRINT@A,U;:GOSUB9:NEXT:PRINT@319,S:RETURN 30 IFN>2THENN=0:RESTORE182 31 H=0:PRINT@293,S"ENTER your score: ";:GOSUB6:LINEINPUTY:O=VAL(Y):IFOGTHENREADY:H=99:N=N+1:PRINT@303-LEN(Y)/2,S;Y:IFN=3THENH=0:M=0:GOSUB7 32 RETURN 33 C=8:G=0:H=M:I=I+H:M=0:PRINT@262-LEN(Z(H)),S"MUGGINS! I score "Z(H)".":GOTO1 34 ONLGOTO161,170 36 G=0:IFC=1THENRETURNELSEIFC>2THEND=C-2ELSE43 37 FORB=1TO14:I(B)=0:NEXT:FORB=DTOC:I(B(H(B)))=I(B(H(B)))+1:NEXT:FORB=1TO13:IFI(B)>1THEND=0 38 NEXT:IFD=0THEN43 39 E=0:FORB=1TO13:IFI(B)=0THENNEXTELSEIFI(B)=1ANDI(B+1)=1ANDI(B+2)=1THENE=3:IFI(B+3)=1THENE=4:IFI(B+4)=1THENE=5:IFI(B+5)=1THENE=6:IFI(B+6)=1THENE=7 40 B=14:NEXT:IFE<>C-D+1THENE=0 41 IFE>GTHENG=E 42 D=D-1:GOTO37 43 IFB(H(C))=B(H(C-1))THENG=G+2:IFC>2THENIFB(H(C))=B(H(C-2))THENG=G+4:IFC>3THENIFB(H(C))=B(H(C-3))THENG=G+6 44 E=O+D(H(C)):IFE=15ORE=31THENG=G+2:F=0 45 RETURN 46 B(C)=A(C)MOD13+1:C(C)=A(C)/13+14:IFB(C)>9THEND(C)=10ELSED(C)=B(C) 47 RETURN 48 IFBBTHENBB=0ELSEBB=1:SOUND550,BB 49 GOTO52 50 KEYSTOP:PRINTX"T":CLS:PRINT:FORA=0TO51:PRINT" "MID$(Z,A(A)MOD13+1,1)MID$(Z,A(A)/13+14,1)" ";:NEXT:GOSUB6:GOTO52 51 PRINT@290,S"You want to Quit? Y/N";:Y=INPUT$(1):IFY="n"ORY="N"THENELSEIFY="y"ORY="Y"THENMENUELSEGOSUB3:GOTO51 52 KEYOFF:PRINTX"U":PRINT@282,S"F1-See deck F4-Sound(o";:IFBBTHENPRINT"n) ";ELSEPRINT"ff)"; 53 KEYON:IFI+JTHENPRINT" Menu-F8"ELSEKEY(8)STOP 54 PRINT@318,CHR$(153)V;:RETURN 55 Z(3)=" You:"+MID$(STR$(J),2):Z(3)=Z(3)+SPACE$(9-LEN(Z(3))):Z(4)=" Me:"+MID$(STR$(I),2):Z(4)=Z(4)+SPACE$(9-LEN(Z(4))):Z(5)=STRING$(9,232):A=1:B=2:Z(1)=U:Z(2)=T:L=51-40*BB:IFKTHENL=L-1 56 RETURN 57 PRINT"'VE BEEN LURCHED!!!":GOSUB7:RETURN 58 SCREEN,0:CLEAR256:DEFINTA-R:DEFSTRS-Z:DIMA(52),B(12),C(12),D(12),I(15),Z(34):X=CHR$(27):PRINTX"A";:XK=X+"K":W=X+"B":U=X+"q":T=X+"p":S=X+"l":V=CHR$(8):AW=1:K=2:G(5)=12:Z(34)=" 59 ONKEYGOSUB50,,,48,,,,51:KEYON:KEYSTOP:Z="A23456789TJQK"+CHR$(158)+CHR$(159)+CHR$(157)+CHR$(156):FORA=0TOPEEK(63791)*7+VAL(RIGHT$(TIME$,1)):B=RND(1):NEXT:GOTO68 60 PRINT@290,XK;X"PDo you want Sound? Y/N";:GOSUB6 61 F=RND(1):Y=INKEY$:IFY=""THEN61ELSEIFY="y"ORY="Y"THENBB=1ELSEIFY="n"ORY="N"THENELSEGOSUB3:GOTO60 62 PRINT@85,X"Q"X"J":PRINT@285,"Lowest card deals; Ace is low.":PRINT@203," Draw a card (ENTER 5 to 48) ";:GOSUB6:INPUTA:IFA>4ANDA<49THENA=A-1ELSEGOSUB3:GOTO62 63 IFA(A)=99THENPRINT@283,T" That card has already been drawn!"U:GOSUB7:GOTO62 64 PRINTX"A"S:PRINT@86,"you"V;V;W;W;T;:B(1)=A(A)MOD13+1:C(1)=A(A)/13+14:C=1:GOSUB9:A(A)=99 65 FORA=0TOPEEK(63791):B=RND(1)*52:NEXT:IFA(B)=99THEN65ELSEPRINT@112,"me"V;V;W;W;T;:B(2)=A(B)MOD13+1:C(2)=A(B)/13+14:C=2:GOSUB9:A(B)=99 66 PRINT@306,S;T;:IFB(1)=B(2)THENPRINTV;V;V" Tie! Draw again."U;:GOSUB7:GOTO62ELSEIFB(1)>B(2)THENPRINT" I";:K=0:ELSEPRINTV;V" You";:K=-1 67 PRINT" deal first."U;X"T":GOSUB7:Z(0)=CHR$(34)+"nineteen"+CHR$(34):FORA=1TO33:READZ(A):NEXT:CLS 68 KEYSTOP:PRINTX"U"V;W;S;X"V C R I B B A G E":FORA=0TO51:A(A)=A:NEXT:LINE(106,26)-(137,43),1,BF:PRINT@178,T"shuff"U"ling...":LINE(143,21)-(100,48),1,B:LINE(101,50)-(145,50):LINE-(145,40):B=1:C=0:MM=34 69 FORD=1TOPEEK(63791)MOD(RND(1)*5+1):E=RND(1):NEXT:LINE(100,48)-(103,48),B:LINE-(100,51),C:LINE-(100,48),C:PSET(100,48):PSET(103,48):LINE(102,50)-(104,50),B:LINE-(101,53),C:PSET(104,50) 70 D=B:B=C:C=D:E=RND(1)*A:LINE(100,24)-(103,21),B:LINE-(100,21),C:LINE-(100,24),C:PSET(100,24):PSET(103,21):A=A-1:F=A(E):FORD=ETOA:A(D)=A(D+1):NEXT:A(A)=F:IFATHEN69 71 IFK=2THEN60ELSEFORC=0TO11:GOSUB46:NEXT:C=1:FORB=KTOK+5:E(C)=A-(K<0):F(C)=A-(K=0):A=A+2:C=C+1:NEXT 72 CLS:G=J>I:H=I>J:PRINTT" SCORES "U:LINE(54,9)-(0,46),1,B:LINE(55,10)-(1,45),1,B:GOTO1 73 PRINT@296,"Your Cards":FORA=1TO6:PRINT@49+4*A,A;W;W;V;V;T;:C=E(A):GOSUB9:NEXT:PRINT@280,T;:IFKTHENPRINT" Your";ELSEPRINT" My"; 74 PRINT" Crib "U:M=9:C=6:FORA=1TO6:H(A)=F(A):NEXT:GOSUB25:FORA=1TO6:F(A)=H(A):NEXT 75 PRINT@293,"I'm discarding...":H=-9:IFKTHENQ=-1ELSEQ=1 76 A=15:M=4:L=3 77 B=A:C=0:E=5:FORD=1TO6:IFBMOD2THENC=C+1:I(C)=DELSEE=E+1:I(E)=D 78 B=B/2:NEXT:M=M-1:IFM<0THENM=L:L=L-1:A=A+1 79 FORB=1TO4:H(B)=F(I(B)):NEXT:H(6)=F(I(6)):H(7)=F(I(7)):GOSUB13:IFB(H(4))-B(H(1))=3ORB(H(4))-B(H(2))=2ORB(H(3))-B(H(1))=2THENG=G+1 80 IFGHTHEN88 85 B=(D(H(6))-D(H(7)))*Q:IFB>NTHEN88 86 IFQ<0THENIFD(H(6))MOD2+D(H(7))MOD2>0ORC(H(6))=C(H(7))ORB(H(6))=11ORB(H(7))=11THEN89 87 IFRND(1)>.5THEN89 88 H=G:N=B:FORB=1TO4:K(B)=H(B):NEXT:G(1)=H(6):G(2)=H(7) 89 A=A+2^M:IFA<61THEN77 90 FORA=1TO4:F(A)=K(A):NEXT:SOUND647,BB 91 PRINT@293,XK"Discards? ";:GOSUB6:Y=INPUT$(1):IFY<"1"ORY>"6"THENGOSUB3:GOTO91ELSEPRINTY:A=VAL(Y):PRINT@130+4*A,;:AW=0:C=E(A):G(3)=C:GOSUB9 92 PRINT@305,XK"and? ";:GOSUB6:Y=INPUT$(1):B=VAL(Y):IFB=AORY<"1"ORY>"6"THENGOSUB3:GOTO92ELSEPRINTY:PRINT@130+4*B,;:AW=0:C=E(B):G(4)=C:GOSUB9:PRINT@293,XK 93 IFB48THENGOSUB3:GOTO96 98 PRINT@30,"Starter":PRINT@77,T;:F=A(B):AG=A(12):A(12)=F:C=12:GOSUB46:GOSUB9 99 PRINT@110,STRING$(4,226):PRINT@296,S;:IFB(12)=11THENPRINT"His Heels!"SPACE$(6)"peg 2":PRINT@308,;:IFKTHENPRINT"You":J=J+2:G=1:ELSEPRINT" I":I=I+2:G=0:H=1ELSE102 100 C=1:GOTO1 101 GOSUB7 102 LINE(65,51)-(216,28),1,B:LINE(68,52)-(217,52):LINE-(217,30):LINE(218,32)-(218,53):LINE-(71,53):AE=1:GO=1:L=4:M=4:N=0:O=0:Q=1:FORA=1TO4:J(A)=E(A):J(A+4)=0:K(A)=F(A):NEXT:IFKTHENP=0ELSEP=1:GOTO132 104 PRINT@294,T;XK" My play... "U:H=-99:FORA=1TOM:F(A+5)=-1:IFD(K(A))+O>31THENM(A)=-99:GOTO107ELSEM(A)=0:FORC=1TON:H(C)=L(C):NEXT:C=N+1:H(C)=K(A):F=1:GOSUB36:F(A+5)=G 105 IFFANDQ>0ANDG<4ANDO+2*D(K(A))<32ANDO+D(K(A))<121THENIFKANDJ>115ANDJ>IORI>J+35ORRND(1)>.9THENG=-G 106 IFG>HTHENH=G:R=A 107 NEXT:IFH=-99THENAE=0:FORE=0TO31:F=RND(1):NEXT:GOTO141 108 IFH>0THEN130ELSEFORA=1TO14:I(A)=0:NEXT:FORA=1TOM:I(B(K(A)))=I(B(K(A)))+1:NEXT:IFO<14THENE=15:F=5ELSEE=31:F=21 109 FORA=1TOM:IFD(K(A))>GTHENG=D(K(A)) 110 C=E-O-D(K(A)):IFC>0THENIFI(C)THENM(A)=M(A)+2 111 IFI(B(K(A)))>1ANDO+3*D(K(A))<32THENM(A)=M(A)+2 112 IFA>2THENE=I(B(K(A-2)))ELSEE=0 113 IFE+I(B(K(A-1)))+I(B(K(A+1)))+I(B(K(A+2)))>1THENM(A)=M(A)+2ELSEIFNANDABS(B(L(N))-B(K(A)))<3THENM(A)=M(A)-3 114 E=O+D(K(A)):IFE=5ORE=21THENM(A)=M(A)-5ELSEIFE=10ORE=26ORE>5ANDD(K(A))=5THENM(A)=M(A)-2 115 IFE<5ORE>21THENM(A)=M(A)+1 116 NEXT:H=-50:FORA=1TOM:IFO>19ANDD(K(A))=GTHENM(A)=M(A)+1 117 IFM(A)>HORM(A)=HANDRND(1)>.5THENR=A:H=M(A) 118 NEXT 130 H=F(R+5):G=0:IFH>0THENPRINT@311,"I peg"H:I=I+H 131 C=K(R):FORB=RTOM:K(B)=K(B+1):NEXT:M=M-1:PRINT@110,STRING$(M,226)" ":MM=33:GOTO143 132 G=0:H=0:PRINT@294,T;XK" Your play: "U" ";:GOSUB6:Y=INPUT$(1):B=VAL(Y):IFY="g"ANDO>21ORY="G"ANDO>21THEN139ELSEIFB<1ORB>LORO+D(J(B))>31THENGOSUB3:GOTO132 133 H=J(B):J(9)=J(B+4):L=L-1:IFB=L+1THEN135 134 MM=34:FORA=BTOL:J(A)=J(A+1):J(A+4)=J(A+5):C=J(A):PRINT@50+4*A,T;:GOSUB9:NEXT 135 AW=2:PRINT@13+4*L,U" "W;:GOSUB9 136 IFJ(9)THENC=H:PRINT@294,T" Sorry, dead card."U" I peg 2":G=99:GOTO143 137 FORC=1TON:H(C)=L(C):NEXT:C=N+1:H(C)=H:GOSUB36:J=J+G:C=H:H=0:MM=32:IFGTHENPRINT@309,"You peg"G 138 GOTO143 139 FORA=1TOL:IFD(J(A))+O<32THENJ(A+4)=1 140 NEXT:Q=0 141 IFGOTHENPRINT@313,T" GO "U:GO=0 142 SOUND9999,9*BB:GOTO146 143 N=N+1:PRINT@169+3*N,T;:GOSUB9:SOUND0,BB:IFG<99THENL(N)=C:O=O+D(C):PRINT@293,STRING$(12,127)Z(O):C=2:GOTO1 144 AW=0:PRINTX"A"V;V;:GOSUB9:PRINTV;V"y":C=9:G=0:H=1:I=I+2:GOTO1 145 GOSUB7:N=N-1:PRINT@294,XK:IFLTHEN132ELSE147 146 PRINT@294,SPACE$(13):GOSUB8 147 IFM=0THENAE=0 148 IFL=0THENQ=0 149 IFO=31THENGOSUB7:GOTO153ELSEIFAE+QTHEN154 150 IFN=0THEN155ELSEPRINT@281," Last card ":PRINT@309,;:IFMM=33THENP=0:I=I+1:G=0:H=1:PRINT" I";:ELSEP=1:J=J+1:G=1:PRINT"You"; 151 PRINT" peg 1":C=3:GOTO1 152 GOSUB7 153 AE=1:G=0:GO=1:H=0:N=0:O=0:Q=1:FORA=193TO172STEP-3:AW=2:PRINT@A,U;:GOSUB9:NEXT:PRINT@280,S:IFM=0THENAE=0ELSEIFL=0THENQ=0 154 IFGORH>0THENGOSUB7 155 IFM+L=0THEN157ELSEIFQ=0THENP=1ELSEIFAE=0THENP=0 156 IFPTHENP=0:GOTO104ELSEP=1:GOTO132 157 A=90:FORB=1TO4:A=A+40:PRINT@A,SPACE$(27):LINE(220,24)-(221,25),1,B:NEXT:PRINT" non-dealer shows first":M=0:MM=34:N=3:IFKTHEN162 158 PRINT@55,"Your hand:":A=134:FORB=1TO4:C=E(B):H(B)=C:PRINT@A,T;:GOSUB9:A=A+5:NEXT:H(5)=G(5):C=5:GOSUB13:GOSUB30:IFH=99THEN158 159 J=J+G:H=0:A=G:PRINT@297-LEN(Z(G)),S;T" You";:GOSUB27:C=4:GOTO1 160 N=3:L=1:IFMTHEN33 161 GOSUB4:PRINT@250,XK:GOSUB29:IFKTHEN164 162 PRINT@55,"My hand: ":A=134:FORB=1TO4:C=F(B):H(B)=C:PRINT@A,T;:GOSUB9:A=A+5:NEXT:H(5)=G(5):C=5:GOSUB13:I=I+G:H=G:G=0:A=H:PRINT@299-LEN(Z(H)),S;T" I";:GOSUB27:GOTO1 163 GOSUB4:GOSUB29:IFKTHEN158 164 PRINT@60,;:IFK=0THENPRINTV;V; 165 PRINT"crib:":A=134:FORB=1TO4:C=G(B):H(B)=C:PRINT@A,T;:GOSUB9:A=A+5:NEXT:H(5)=G(5):C=5:CR=1:GOSUB13:IFK=0THENI=I+G:A=G:H=G:G=0:GOTO167ELSEGOSUB30:IFH=99THEN164 166 A=G:H=0:J=J+G 167 B=297-LEN(Z(A)):IFKTHENPRINT@B,S;T" You";ELSEPRINT@B+2,S;T" I"; 168 GOSUB27:C=6:GOTO1 169 L=2:N=3:IFMTHEN33 170 GOSUB4:PRINT@250,XK:CR=0:A(12)=AG:GOSUB52:GOSUB4:FORA=0TO7:PRINTS;X"A";:NEXT:K=K=0:GOTO68 171 IFI>120THEN173ELSEK=0:GOSUB55:D=3333:G=2777:H=2333:JG=JG+1:IFI<61THENJG=JG+1:PRINT@293,S"I";:GOSUB57 172 PRINT@298,S"YOU";:GOTO175 173 K=-1:GOSUB55:D=6333:G=6777:H=7333:IG=IG+1:IFJ<61THENIG=IG+1:PRINT@292,S"YOU";:GOSUB57 174 PRINT@299,S"I"; 175 PRINT" WIN!!!":FORM=0TOL:PRINT@80,Z(A);Z(3):SOUNDD,BB*2:PRINTZ(5):SOUNDG,BB*3:PRINTZ(B);Z(4):SOUNDH,BB*4:C=A:A=B:B=C:NEXT 176 GOSUB4:PRINT@0,U" GAMES "T:FORA=0TO4:PRINTSPACE$(9):NEXT:PRINT@81,"You:"JG:PRINT@162,"Me:"IG;U:I=0:J=0:GOSUB52:GOSUB4 177 KEYOFF:KEYSTOP:PRINT@295,S"Another Game? Y/N";:GOSUB6:Y=INPUT$(1):IFY="y"ORY="Y"THENELSEIFY="n"ORY="N"THENMENUELSEGOSUB3:GOTO177 178 PRINT@293,S"Loser (";:IFKTHENPRINT"you";ELSEPRINT"me"; 179 PRINT") deals."X"T":RESTORE180:FORA=1TO5:READZ(A):NEXT:GOSUB8:CLS:GOTO68 180 DATAOne,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Eleven,Twelve,Thirteen,Fourteen,Fifteen,Sixteen,Seventeen,Eighteen,Nineteen 181 DATATwenty,Twenty-one,Twenty-two,Twenty-three,Twenty-four,Twenty-five,Twenty-six,Twenty-seven,Twenty-eight,Twenty-nine,Thirty,Thirty-one,y,m 182 DATAa bit optomistic...,you tryin' to gull a computer?,okay - you need some help