0 CLS:PRINT:PRINT" initializing";:GOTO62'CRIBGE.BA, COPYRIGHT 1986 by James A. McGreevy 1 'NEC 8201A adaptation by Dave Thomas for GEnie's Laptops RoundTable 7/11/87 2 'VITAL note! LINE must be enabled and LAPTOP.CO must be in RAM. Required files are in GEnie's Laptops RoundTable 3 LOCATE1,2:PRINT"You:"X;J:LOCATE2,4:PRINT"Me:"X;I:IFGTHENSOUND999,3*BB:SOUND700,4*BBELSEIFHTHENSOUND9999,5*BB:SOUND16383,9*BB 4 IFJ>120ORI>120THENGOSUB9:GOTO164ELSEONCGOTO106,139,145,153,156,162,78,36,138 5 SOUND2439,5*BB:FORE=0TO9-9*BB:LOCATE 37,7::PRINT"**":NEXT:RETURN 6 GOSUB8:LOCATE38,7:PRINTX"P"CHR$(153)V; 7 F=RND(1):IFINKEY$=""THEN7ELSEPRINTX"Q ":RETURN 8 F=RND(1):IFINKEY$=""THENRETURNELSE8 9 FORE=0TO133:F=RND(1):NEXT:RETURN 10 FORE=0TO99+VAL(RIGHT$(TIME$,2))/3:F=RND(1):NEXT:RETURN 11 E=POS(1)*6:F=CSRLIN*8:IFAW>0THENLINE(E-2,F-2)-(E+12,F+17),AW,B:IFAW>1THENPRINT" "W;V;V" 12 LINE(E-1,F-1)-(E+11,F+16),AW,B 13 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 14 AW=1:RETURN 15 G=0:FORB=2TO2^C-1:D=B:E=1:F=0 16 IFDMOD2THENF=F+D(H(E)) 17 D=D/2:E=E+1:IFDTHEN16 18 IFF=15THENG=G+2 19 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 20 IFB=99THENE=E*I(D)*I(D+1)*I(D+2):IFI(D+3)THENE=E*I(D+3) 21 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 22 IFCRANDE<5THENE=0 23 G=G+E:IFC<5THEN25ELSEFORB=1TO4:IFB(H(B))=11ANDC(H(B))=C(H(5))THENG=G+1 24 NEXT:GOSUB27 25 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 28 NEXT:NEXT:RETURN 29 PRINT" scored "Z(A)" points."U;:IFA=1THENPRINTV;V;T". "U 30 RETURN 31 FORA=134TO149STEP5:AW=2:PT=A:GOSUB176:LOCATE CC,RR:PRINTU;:GOSUB11:NEXT:LOCATE 39,7:PRINTS:RETURN 32 IFN>2THENN=0:RESTORE175 33 H=0:LOCATE 13,7:PRINTS"ENTER your score: ";:GOSUB8:LINEINPUTY:O=VAL(Y):IFOGTHENREADY:H=99:N=N+1:PT=303-LEN(Y)/2:GOSUB176:LOCATE CC,RR:PRINTS;Y:IFN=3THENH=0:M=0:GOSUB9 34 RETURN 35 C=8:G=0:H=M:I=I+H:M=0:PT=262-LEN(Z(H)):GOSUB176:LOCATE CC,RR:PRINTS"MUGGINS! I score "Z(H)".":GOTO3 36 ONLGOTO154,163 37 G=0:IFC=1THENRETURNELSEIFC>2THEND=C-2ELSE44 38 FORB=1TO14:I(B)=0:NEXT:FORB=DTOC:I(B(H(B)))=I(B(H(B)))+1:NEXT:FORB=1TO13:IFI(B)>1THEND=0 39 NEXT:IFD=0THEN44 40 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 41 B=14:NEXT:IFE<>C-D+1THENE=0 42 IFE>GTHENG=E 43 D=D-1:GOTO38 44 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 45 E=O+D(H(C)):IFE=15ORE=31THENG=G+2:F=0 46 RETURN 47 B(C)=A(C)MOD13+1:C(C)=A(C)/13+14:IFB(C)>9THEND(C)=10ELSED(C)=B(C) 48 RETURN 49 IFBBTHENBB=0ELSEBB=1:SOUND550,BB 50 GOTO53 51 PRINTX"T":CLS:PRINT:FORA=0TO51:PRINT" "MID$(Z,A(A)MOD13+1,1)MID$(Z,A(A)/13+14,1)" ";:NEXT:GOSUB8:GOTO53 52 LOCATE 10,7:PRINTS"You want to Quit? Y/N";:Y=INPUT$(1):IFY="n"ORY="N"THENRETURNELSEIFY="y"ORY="Y"THENMENUELSEGOSUB5:GOTO52 53 PRINTX"U":LOCATE 1,7:PRINTS"iew deck ound(o";:IFBBTHENPRINT"n) ";ELSEPRINT"ff)"; 54 IFI+JTHENPRINT" enu"; 55 LOCATE38,7:PRINTCHR$(153)V; 56 XX=INPUT$(1):AA=INSTR("VvSsMm",XX)/2+.5:IFAA=0THENRETURN 57 ONAAGOSUB51,49,52 58 RETURN 59 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,132):A=1:B=2:Z(1)=U:Z(2)=T:L=51-40*BB:IFKTHENL=L-1 60 RETURN 61 PRINT"'VE BEEN LURCHED!!!":GOSUB9:RETURN 62 SCREEN,0:CLEAR256 63 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)=" 64 Z="A23456789TJQK"+CHR$(158)+CHR$(159)+CHR$(157)+CHR$(156):FORA=0TOVAL(RIGHT$(TIME$,2))*7:B=RND(1):NEXT:GOTO73 65 LOCATE 10,7:PRINTXK;X"PDo you want Sound? Y/N";:GOSUB8 66 F=RND(1):Y=INKEY$:IFY=""THEN66ELSEIFY="y"ORY="Y"THENBB=1ELSEIFY="n"ORY="N"THENELSEGOSUB5:GOTO65 67 LOCATE 5,2:PRINTX"Q"X"J":LOCATE 5,7:PRINT"Lowest card deals; Ace is low.":LOCATE 3,5:PRINT" Draw a card (ENTER 5 to 48) ";:GOSUB8:INPUTA:IFA>4ANDA<49THENA=A-1ELSEGOSUB5:GOTO67 68 IFA(A)=99THENLOCATE 3,7:PRINTT" That card has already been drawn!"U:GOSUB9:GOTO67 69 PRINTX"A"S:LOCATE 6,2:PRINT"you"V;V;W;W;T;:B(1)=A(A)MOD13+1:C(1)=A(A)/13+14:C=1:GOSUB11:A(A)=99 70 FORA=0TOVAL(RIGHT$(TIME$,2)):B=RND(1)*52:NEXT:IFA(B)=99THEN70ELSELOCATE 32,2:PRINT"me"V;V;W;W;T;:B(2)=A(B)MOD13+1:C(2)=A(B)/13+14:C=2:GOSUB11:A(B)=99 71 LOCATE 26,7:PRINTS;T;:IFB(1)=B(2)THENPRINTV;V;V" Tie! Draw again."U;:GOSUB9:GOTO67ELSEIFB(1)>B(2)THENPRINT" I";:K=0:ELSEPRINTV;V" You";:K=-1 72 PRINT" deal first."U;X"T":GOSUB9:Z(0)=CHR$(34)+"nineteen"+CHR$(34):FORA=1TO33:READZ(A):NEXT:CLS 73 LOCATE1,0: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:LOCATE 18,4:PRINTT"shuff"U"ling...":LINE(143,21)-(100,48),1,B:LINE(101,50)-(145,50):LINE-(145,40):B=1:C=0:MM=34 74 FORD=1TOVAL(RIGHT$(TIME$,2))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) 75 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:IFATHEN74 76 IFK=2THEN65ELSEFORC=0TO11:GOSUB47:NEXT:C=1:FORB=KTOK+5:E(C)=A-(K<0):F(C)=A-(K=0):A=A+2:C=C+1:NEXT 77 CLS:G=J>I:H=I>J:PRINTT" SCORES "U:LINE(54,9)-(0,46),1,B:LINE(55,10)-(1,45),1,B:GOTO3 78 LOCATE 16,7:PRINT"Your Cards":FORA=1TO6:PT=49+4*A:GOSUB176:LOCATE CC,RR:PRINTA;W;W;V;V;T;:C=E(A):GOSUB11:NEXT:LOCATE 0,7:PRINTT;:IFKTHENPRINT" Your";ELSEPRINT" My"; 79 PRINT" Crib "U:M=9:C=6:FORA=1TO6:H(A)=F(A):NEXT:GOSUB27:FORA=1TO6:F(A)=H(A):NEXT 80 LOCATE 13,7:PRINT"I'm discarding...":H=-9:IFKTHENQ=-1ELSEQ=1 81 A=15:M=4:L=3 82 B=A:C=0:E=5:FORD=1TO6:IFBMOD2THENC=C+1:I(C)=DELSEE=E+1:I(E)=D 83 B=B/2:NEXT:M=M-1:IFM<0THENM=L:L=L-1:A=A+1 84 FORB=1TO4:H(B)=F(I(B)):NEXT:H(6)=F(I(6)):H(7)=F(I(7)):GOSUB15:IFB(H(4))-B(H(1))=3ORB(H(4))-B(H(2))=2ORB(H(3))-B(H(1))=2THENG=G+1 85 IFGHTHEN93 90 B=(D(H(6))-D(H(7)))*Q:IFB>NTHEN93 91 IFQ<0THENIFD(H(6))MOD2+D(H(7))MOD2>0ORC(H(6))=C(H(7))ORB(H(6))=11ORB(H(7))=11THEN94 92 IFRND(1)>.5THEN94 93 H=G:N=B:FORB=1TO4:K(B)=H(B):NEXT:G(1)=H(6):G(2)=H(7) 94 A=A+2^M:IFA<61THEN82 95 FORA=1TO4:F(A)=K(A):NEXT:SOUND647,BB 96 LOCATE 13,7:PRINTXK"Discards? ";:GOSUB8:Y=INPUT$(1):IFY<"1"ORY>"6"THENGOSUB5:GOTO96ELSEPRINTY:A=VAL(Y):PT=130+4*A:GOSUB176:LOCATE CC,RR:PRINT;:AW=0:C=E(A):G(3)=C:GOSUB11 97 LOCATE 25,7:PRINTXK"and? ";:GOSUB8:Y=INPUT$(1):B=VAL(Y):IFB=AORY<"1"ORY>"6"THENGOSUB5:GOTO97ELSEPRINTY:PT=130+4*B:GOSUB176:LOCATE CC,RR:PRINT;:AW=0:C=E(B):G(4)=C:GOSUB11:LOCATE 13,7:PRINTXK 98 IFB48THENGOSUB5:GOTO101 103 LOCATE 30,0:PRINT"Starter":LOCATE 37,1:PRINTT;:F=A(B):AG=A(12):A(12)=F:C=12:GOSUB47:GOSUB11 104 LOCATE 30,2:PRINTSTRING$(4,171):LOCATE 16,7:PRINTS;:IFB(12)=11THENPRINT"His Heels!"SPACE$(6)"peg 2":LOCATE 28,7:PRINT;:IFKTHENPRINT"You":J=J+2:G=1:ELSEPRINT" I":I=I+2:G=0:H=1ELSE107 105 C=1:GOTO3 106 GOSUB9 107 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:GOTO125 108 LOCATE 14,7:PRINTT;XK" My play... "U:H=-99:FORA=1TOM:F(A+5)=-1:IFD(K(A))+O>31THENM(A)=-99:GOTO111ELSEM(A)=0:FORC=1TON:H(C)=L(C):NEXT:C=N+1:H(C)=K(A):F=1:GOSUB37:F(A+5)=G 109 IFFANDQ>0ANDG<4ANDO+2*D(K(A))<32ANDO+D(K(A))<121THENIFKANDJ>115ANDJ>IORI>J+35ORRND(1)>.9THENG=-G 110 IFG>HTHENH=G:R=A 111 NEXT:IFH=-99THENAE=0:FORE=0TO31:F=RND(1):NEXT:GOTO134 112 IFH>0THEN123ELSEFORA=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 113 FORA=1TOM:IFD(K(A))>GTHENG=D(K(A)) 114 C=E-O-D(K(A)):IFC>0THENIFI(C)THENM(A)=M(A)+2 115 IFI(B(K(A)))>1ANDO+3*D(K(A))<32THENM(A)=M(A)+2 116 IFA>2THENE=I(B(K(A-2)))ELSEE=0 117 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 118 E=O+D(K(A)):IFE=5ORE=21THENM(A)=M(A)-5ELSEIFE=10ORE=26ORE>5ANDD(K(A))=5THENM(A)=M(A)-2 119 IFE<5ORE>21THENM(A)=M(A)+1 120 NEXT:H=-50:FORA=1TOM:IFO>19ANDD(K(A))=GTHENM(A)=M(A)+1 121 IFM(A)>HORM(A)=HANDRND(1)>.5THENR=A:H=M(A) 122 NEXT 123 H=F(R+5):G=0:IFH>0THENLOCATE 31,7:PRINT"I peg"H:I=I+H 124 C=K(R):FORB=RTOM:K(B)=K(B+1):NEXT:M=M-1:LOCATE 30,2:PRINTSTRING$(M,171)" ":MM=33:GOTO136 125 G=0:H=0:LOCATE 14,7:PRINTT;XK" Your play: "U" ";:GOSUB8:Y=INPUT$(1):B=VAL(Y):IFY="g"ANDO>21ORY="G"ANDO>21THEN132ELSEIFB<1ORB>LORO+D(J(B))>31THENGOSUB5:GOTO125 126 H=J(B):J(9)=J(B+4):L=L-1:IFB=L+1THEN128 127 MM=34:FORA=BTOL:J(A)=J(A+1):J(A+4)=J(A+5):C=J(A):PT=50+4*A:GOSUB176:LOCATE CC,RR:PRINTT;:GOSUB11:NEXT 128 AW=2:PT=13+4*L:GOSUB176:LOCATE CC,RR:PRINTU" "W;:GOSUB11 129 IFJ(9)THENC=H:LOCATE 14,7:PRINTT" Sorry, dead card."U" I peg 2":G=99:GOTO136 130 FORC=1TON:H(C)=L(C):NEXT:C=N+1:H(C)=H:GOSUB37:J=J+G:C=H:H=0:MM=32:IFGTHENLOCATE 29,7:PRINT"You peg"G 131 GOTO136 132 FORA=1TOL:IFD(J(A))+O<32THENJ(A+4)=1 133 NEXT:Q=0 134 IFGOTHENLOCATE 33,7:PRINTT" GO "U:GO=0 135 SOUND9999,9*BB:GOTO139 136 N=N+1:PT=169+3*N:GOSUB176:LOCATE CC,RR:PRINTT;:GOSUB11:SOUND0,BB:IFG<99THENL(N)=C:O=O+D(C):LOCATE 13,7:PRINTSTRING$(12,127)Z(O):C=2:GOTO3 137 AW=0:PRINTX"A"V;V;:GOSUB11:PRINTV;V"y":C=9:G=0:H=1:I=I+2:GOTO3 138 GOSUB9:N=N-1:LOCATE 14,7:PRINTXK:IFLTHEN125ELSE140 139 LOCATE 14,7:PRINTSPACE$(13):GOSUB10 140 IFM=0THENAE=0 141 IFL=0THENQ=0 142 IFO=31THENGOSUB9:GOTO146ELSEIFAE+QTHEN147 143 IFN=0THEN148ELSELOCATE 1,7:PRINT" Last card ":LOCATE 29,7:PRINT;:IFMM=33THENP=0:I=I+1:G=0:H=1:PRINT" I";:ELSEP=1:J=J+1:G=1:PRINT"You"; 144 PRINT" peg 1":C=3:GOTO3 145 GOSUB9 146 AE=1:G=0:GO=1:H=0:N=0:O=0:Q=1:FORA=193TO172STEP-3:AW=2:PT=A:GOSUB176:LOCATE CC,RR:PRINTU;:GOSUB11:NEXT:LOCATE 0,7:PRINTS:IFM=0THENAE=0ELSEIFL=0THENQ=0 147 IFGORH>0THENGOSUB9 148 IFM+L=0THEN150ELSEIFQ=0THENP=1ELSEIFAE=0THENP=0 149 IFPTHENP=0:GOTO108ELSEP=1:GOTO125 150 A=90:FORB=1TO4:A=A+40:PT=A:GOSUB176:LOCATE CC,RR:PRINTSPACE$(27):LINE(220,24)-(221,25),1,B:NEXT:PRINT" non-dealer shows first":M=0:MM=34:N=3:IFKTHEN155 151 LOCATE 15,1:PRINT"Your hand:":A=134:FORB=1TO4:C=E(B):H(B)=C:PT=A:GOSUB176:LOCATE CC,RR:PRINTT;:GOSUB11:A=A+5:NEXT:H(5)=G(5):C=5:GOSUB15:GOSUB32:IFH=99THEN151 152 J=J+G:H=0:A=G:PT=297-LEN(Z(G)):GOSUB176:LOCATE CC,RR:PRINTS;T" You";:GOSUB29:C=4:GOTO3 153 N=3:L=1:IFMTHEN35 154 GOSUB6:LOCATE 10,6:PRINTXK:GOSUB31:IFKTHEN157 155 LOCATE 15,1:PRINT"My hand: ":A=134:FORB=1TO4:C=F(B):H(B)=C:PT=A:GOSUB176:LOCATE CC,RR:PRINTT;:GOSUB11:A=A+5:NEXT:H(5)=G(5):C=5:GOSUB15:I=I+G:H=G:G=0:A=H:PT=299-LEN(Z(H)):GOSUB176:LOCATE CC,RR:PRINTS;T" I";:GOSUB29:GOTO3 156 GOSUB6:GOSUB31:IFKTHEN151 157 LOCATE 20,1:PRINT;:IFK=0THENPRINTV;V; 158 PRINT"crib:":A=134:FORB=1TO4:C=G(B):H(B)=C:PT=A:GOSUB176:LOCATE CC,RR:PRINTT;:GOSUB11:A=A+5:NEXT:H(5)=G(5):C=5:CR=1:GOSUB15:IFK=0THENI=I+G:A=G:H=G:G=0:GOTO160ELSEGOSUB32:IFH=99THEN157 159 A=G:H=0:J=J+G 160 B=297-LEN(Z(A)):IFKTHENPT=B:GOSUB176:LOCATE CC,RR:PRINTS;T" You";ELSEPT=B+2:GOSUB176:LOCATE CC,RR:PRINTS;T" I"; 161 GOSUB29:C=6:GOTO3 162 L=2:N=3:IFMTHEN35 163 GOSUB6:LOCATE 10,6:PRINTXK:CR=0:A(12)=AG:GOSUB53:FORA=0TO7:PRINTS;X"A";:NEXT:K=K=0:GOTO73 164 IFI>120THEN166ELSEK=0:GOSUB59:D=3333:G=2777:H=2333:JG=JG+1:IFI<91THENJG=JG+1:LOCATE 13,7:PRINTS"I";:GOSUB61 165 LOCATE 18,7:PRINTS"YOU";:GOTO168 166 K=-1:GOSUB59:D=6333:G=6777:H=7333:IG=IG+1:IFJ<91THENIG=IG+1:LOCATE 12,7:PRINTS"YOU";:GOSUB61 167 LOCATE 19,7:PRINTS"I"; 168 PRINT" WIN!!!":FORM=0TOL:LOCATE 0,2:PRINTZ(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 169 GOSUB6:LOCATE 0,0:PRINTU" GAMES "T:FORA=0TO4:PRINTSPACE$(9):NEXT:LOCATE 1,2:PRINT"You:"JG:LOCATE 2,4:PRINT"Me:"IG;U:I=0:J=0:GOSUB53 170 LOCATE 15,7:PRINTS"Another Game? Y/N";:GOSUB8:Y=INPUT$(1):IFY="y"ORY="Y"THENELSEIFY="n"ORY="N"THENMENUELSEGOSUB5:GOTO170 171 LOCATE 13,7:PRINTS"Loser (";:IFKTHENPRINT"you";ELSEPRINT"me"; 172 PRINT") deals."X"T":RESTORE173:FORA=1TO5:READZ(A):NEXT:GOSUB10:CLS:GOTO73 173 DATAOne,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Eleven,Twelve,Thirteen,Fourteen,Fifteen,Sixteen,Seventeen,Eighteen,Nineteen 174 DATATwenty,Twenty-one,Twenty-two,Twenty-three,Twenty-four,Twenty-five,Twenty-six,Twenty-seven,Twenty-eight,Twenty-nine,Thirty,Thirty-one,y,m 175 DATAa bit optimistic...,you tryin' to gull a computer?,okay - you need some help 176 CC=PTMOD40:RR=PT\40:RETURN