1 REM EUCHRE 2000.02.13 2 POKE53371,0:GOSUB3002 3 GOSUB12:ONQGOTO4002,4,3,3 4 GOSUB302 5 GOSUB502:ONQGOTO4002,4:IFSB=-1THEN4 6 GOSUB1002:ONQGOTO4002,4:IFNG%(T)<3THEN4 7 GOTO3 10 : 12 : REM GAME SCREEN INPUT 14 : 16 IFQRTHENQR=0:Q=QS:GOTO36 18 POKESV+39,1:QS=Q:IFMN>0THEN24 20 SYSML+9:ON3+(CR%>0)+(CR%>4)GOTO34,32:IFR2%=1THENQR=-1:Q=4:GOTO34 22 SYSML+60,K$:CR%=I%:ON2+(CR%>0)GOTO32:ON2+FNHT(P)GOTO20,34 24 POKEMV+2,4:POKE646,C2 26 FORI=0TOMN:SYSML+183,1+FNME(I):SYSML+12,XM%,YM%+I,LEFT$(W$+" ",10):NEXT 28 SYSML+33,XM%+128,XM%+9,YM%,YM%+MN,C2,C3,M$:IFSL%<128THENGOSUB186:GOTO34 30 CR%=SL%AND127:IFSL%=133THENQR=-1:Q=4:GOSUB186:GOTO34 32 ONCR%GOSUB2086,2002,2030,2074:ONQGOTO34,34:IFQ=QSTHENON2+(MN=0)GOTO20,24 34 POKESV+39,7 36 RETURN 100 : 102 : REM CARDS IN PLAY 104 : 106 B=PD:FORJ=0TO4:FORI=0TO3:B=A1%(B):R=R%(B,J):S=S%(B,J):IFJ=TC%(B)THEN112 108 IFB=0THENX=XH%(J):Y=YH%:GOSUB120:GOTO114 110 X=XC%(B-1)-J*2*(B=2):Y=YC%(B-1)+J*3*(B-2):GOSUB144:GOTO114 112 X=XP%(B):Y=YP%(B):GOSUB120 114 NEXT:NEXT 116 RETURN 118 : 120 : REM DISPLAY BIG CARD 122 : 124 IFR=-1ORS=-1THEN140 126 V=R+(R-2)*(MB%=0ANDR>5):W=S+(S-A2%(S))*(MB%=0ANDR=6) 128 POKE646,CS%(W) 130 SYSML+12,X,Y+0,R$(V)+" " 132 SYSML+12,X,Y+1,S$(W)+" " 134 SYSML+12,X,Y+2," "+S$(W) 136 SYSML+12,X,Y+3," "+R$(V) 138 POKE646,C0 140 RETURN 142 : 144 : REM DISPLAY SMALL CARD 146 : 148 IFR=-1ORS=-1THEN162 150 IFHP%THENV=8:W=4:GOTO154 152 V=R+(R-2)*(MB%=0ANDR>5):W=S+(S-A2%(S))*(MB%=0ANDR=6) 154 POKE646,CS%(W) 156 SYSML+12,X,Y+0,R$(V) 158 SYSML+12,X,Y+1,S$(W) 160 POKE646,C0 162 RETURN 164 : 166 : REM CLEAR BIG CARD 168 : 170 SYSML+30,X,X+2,Y,Y+3,160,C0 172 RETURN 174 : 176 : REM DISPLAY PROMPT - HUMAN N=TEXT STRING # 178 : 180 SYSML+183,N:X=XU%-LEN(W$)/2+2:Y=YH%-2:POKE199,1:SYSML+186,X,Y,N:POKE199,0 182 RETURN 184 : 186 : REM CLEAR MENU 188 : 190 SYSML+30,XM%,XM%+9,YM%,YM%+MN,160,C0:POKE646,C0:MN=0:POKEMV+2,9 192 RETURN 194 : 196 : REM CLEAR SMALL CARD 198 : 200 X=XC%(P-1)-C*2*(P=2):Y=YC%(P-1)+C*3*(P-2):SYSML+30,X,X,Y,Y+1,160,C0 202 RETURN 204 : 206 : REM CLEAR CENTER 208 : 210 SYSML+30,XC%(0)+2,XC%(2)-2,YC%(1)+2,YH%-2,160,C0 212 RETURN 214 : 216 : REM RESULTS BLOCK 218 : 220 SYSML+30,XH%(3),XH%(3)+10,YC%(1),YC%(1)+1,160,C1 222 RETURN 224 : 226 : REM CLEAR RESULTS BLOCK 228 : 230 SYSML+30,XH%(3),XH%(3)+10,YC%(1),YC%(1)+1,160,C0 232 RETURN 234 : 236 : REM DISPLAY RESULTS TEXT N=STRING TEXT #; T=TEAM # 238 : 240 POKE646,CT%(T):SYSML+12,XH%(3),YC%(1),T$(T):POKE646,C0:SYSML+183,N 242 SYSML+12,XH%(3)+4,YC%(1),MID$(W$,5,7):SYSML+12,XH%(3),YC%(1)+1,MID$(W$,12) 244 RETURN 300 : 302 : REM *** DEAL 304 : 306 IFQ=2THEN314 308 SYSML+30,XD%(PD,0),XD%(PD,1),YD%(PD,0),YD%(PD,1),160,C1 310 SYSML+30,XB%(PB,0),XB%(PB,1),YB%(PB,0),YB%(PB,1),160,C1 312 PD=A1%(PD) 314 Q=4-HP% 316 GOSUB332:SYSML+48,XD%(PD,0),XD%(PD,1),YD%(PD,0),YD%(PD,1),A(2+(PDAND253)) 318 GOSUB346 320 V=0:FORJ=0TO4:FORI=0TO3:W=PEEK(RV+V)-1:S%(I,J)=FNCS(W):R%(I,J)=FNCR(W) 322 V=V+1:NEXT:NEXT:W=PEEK(RV+V)-1:SU=FNCS(W):RU=FNCR(W):SP=SU 324 FORI=0TO2:V=V+1:DH%(I)=PEEK(RV+V)-1:NEXT 326 GOSUB102:Y=YU%:X=XU%:R=RU:S=SU:GOSUB120 328 RETURN 330 : 332 : REM INITIALIZE HAND 334 : 336 Y=YN%(0):FORI=0TO1:X=XN%+4+7*I:NT%(I)=0:N=0:POKE646,CT%(I):GOSUB356:NEXT 338 Y=YN%(1):FORI=0TO1:X=XN%+4+7*I:N=NP%(I):POKE646,CT%(I):GOSUB356:NEXT 340 POKE646,C0:FORI=0TO3:TC%(I)=-1:FORJ=0TO3:CP%(I,J)=0:NEXT:NEXT 342 RETURN 344 : 346 : REM SHUFFLE 348 : 350 POKE176,0:POKE177,HR:POKE178,24:SYSRL 352 RETURN 354 : 356 : REM DISPLAY BIG NUMBER N=BIG # 358 : 360 W=INT(N/10):IFW>0THENFORK=0TO1:SYSML+12,X-1,Y+K,MID$(N$(K),W+1,1):NEXT 362 W=N-W*10:FORK=0TO1:SYSML+12,X,Y+K,MID$(N$(K),W+1,1):NEXT 364 RETURN 500 : 502 : REM *** BID 504 : 506 PB=0:PX=-1:SB=-1:P=A1%(PD) 508 REM --- ORDER UP TRUMP 510 IFFNHT(P)THENGOSUB824:ONQGOTO588,588,514 512 GOSUB592:GOSUB688:GOSUB12:IFQ<3THEN588 514 N=2+(SB=-1):GOSUB898:IFSB<>-1THENPB=P:GOTO556 516 P=A1%(P):IFP<>PDTHEN510 518 REM --- PICK UP TRUMP 520 IFFNHT(P)THENGOSUB834:ONQGOTO588,588,524 522 GOSUB592:GOSUB688:GOSUB12:IFQ<3THEN588 524 N=4+(SB=-1):GOSUB898:IFSB=-1THENGOSUB888:GOTO544 526 REM --- DISCARD 528 PB=P:GOSUB632:IFMB%THENR=RU:S=SU:Y=YU%:X=XU%:GOSUB120:GOSUB102 530 IFFNHT(P)THENGOSUB844:ONQGOTO588,588,534 532 GOSUB708:GOSUB12:IFQ<3THEN588 534 S=S%(P,C):R=R%(P,C):CP%(P,S)=CP%(P,S)ORRB%(R) 535 IFLV%<2THENSO%(P,S)=SO%(P,S)-1:GOTO540 536 FORJ=0TO3:CP%(J,S)=CP%(J,S)ORRB%(R):SO%(J,S)=SO%(J,S)-1:NEXT 540 GOSUB206:R%(P,C)=RU:S%(P,C)=SU:GOSUB876 542 GOTO564 544 REM --- NAME TRUMP 546 P=A1%(P):IFFNHT(P)THENGOSUB856:ONQGOTO588,588,550:GOSUB592 548 GOSUB676:GOSUB12:IFQ<3THEN588 550 N=6+SB:GOSUB898:IFSB<>-1THENPB=P:GOTO556 552 IFP=PDTHEN581 554 GOTO546 556 REM --- UPDATES FOR ORDER UP & NAME 558 GOSUB632:IFMB%THENR=RU:S=SU:X=XU%:Y=YU%:GOSUB120:GOSUB102 560 FORI=0TO3:CP%(I,SU)=CP%(I,SU)ORRB%(RU):SO%(I,SU)=SO%(I,SU)-1:NEXT 562 GOSUB206 564 REM --- SUIT COUNT 566 FORI=0TO3:FORJ=0TO3:SN%(I,J)=0:NEXT 568 FORK=0TO4:SN%(I,S%(I,K))=SN%(I,S%(I,K))+1:NEXT:NEXT 570 REM --- LONE HAND 572 P=PB:IFFNHT(P)THENGOSUB866:ONQGOTO588,588,576 574 GOSUB752:GOSUB12:IFQ<3THEN588 576 N=11+(PX=-1):GOSUB898:IFPX=-1THEN580 577 ONPX+1GOSUB784,794,804,814:IFLV%<2THEN580 578 FORK=0TO4:S=S%(PX,K):CP%(P,S)=CP%(P,S)ORRB%(R%(PX,K)):SO%(P,S)=SO%(P,S)-1 579 NEXT 580 GOSUB206:GOTO586 581 REM --- NO BIDS 582 GOSUB216:SYSML+186,XH%(3),YC%(1),20:SYSML+24,100:GOSUB226 584 GOSUB784:GOSUB794:GOSUB804:GOSUB814:GOSUB206 586 REM --- 588 RETURN 590 : 592 : REM SUIT COUNT/POINTS 594 : 596 FORI=0TO3:SN%(P,I)=0:SP%(P,I)=0:NEXT 598 FORI=0TO4:S=S%(P,I):KS=FNKS(R%(P,I)):GOSUB608 600 IFR%(P,I)=2THENS=A2%(S):KS=5:GOSUB608 602 NEXT:IFP=PDTHENS=SU:KS=FNKS(RU):GOSUB608:IFSN%(P,S)=6THENSN%(P,S)=5 604 RETURN 606 : 608 : REM SUIT COUNT/POINTS SUB 610 : 612 IFP<>PDANDS=SUTHENKS=KS-(KSS):NEXT 628 RETURN 630 : 632 : REM UPDATE FOR TRUMP 634 : 636 REM --- BIDDER 638 POKE646,CS%(SB) 640 SYSML+12,XB%(PB,0),YB%(PB,0),S$(SB):SYSML+12,XB%(PB,1),YB%(PB,1),S$(SB) 642 IFPB<>PDTHENSYSML+48,XD%(PB,0),XD%(PB,1),YD%(PB,0),YD%(PB,1),A(4+(PBAND253)) 644 POKE646,C0 646 REM --- BOWERS 648 V=A2%(SB):FORI=0TO3:CP%(I,SB)=CP%(I,SB)ORRB%(2):CP%(I,V)=CP%(I,V)ORRB%(2) 650 FORJ=0TO3:IFJ<>SBTHENCP%(I,J)=CP%(I,J)ORRB%(6)ORRB%(7) 652 NEXT 654 FORJ=0TO4:IFR%(I,J)<>2THEN660 656 IFS%(I,J)=SBTHENR%(I,J)=7:GOTO660 658 IFS%(I,J)=VTHENR%(I,J)=6:S%(I,J)=SB 660 NEXT:NEXT 662 IFRU<>2THEN668 664 IFSU=SBTHENRU=7:GOTO668 666 IFSU=VTHENRU=6:SU=SB 668 REM --- SUIT OUT COUNT 670 FORJ=0TO3:SO%(0,J)=6-(J=SB)+(J=V):FORI=1TO3:SO%(I,J)=SO%(0,J):NEXT:NEXT 672 RETURN 674 : 676 : REM NAME TRUMP - COMPUTER 678 : 680 W=0:FORI=0TO3:IFI<>SUTHENIFSP%(P,I)>WTHENSP=I:W=SP%(P,I) 682 NEXT:IFW>0THENGOSUB688 684 RETURN 686 : 688 : REM BID - COMPUTER USED FOR ORDER UP, PICK UP & NAME 690 : 692 IFSN%(P,SP)<2THEN704 694 IFSN%(P,SP)>3THEN702 696 V=KS%(3)*(H%(LV%)+(NP%(A1%(P)AND253)=9)+(P=PDORA1%(P)=PD)) 698 V=V+KS%(6)+KS%(5)+KS%(3)*(SN%(P,SP)>2) 700 IFSP%(P,SP)SB):NEXT:GOTO742 722 REM --- LOWEST RANK NON-TRUMP 724 R=8:FORI=0TO4:IFS%(P,I)<>SBTHENIFR%(P,I)SBTHENIFSP%(P,S)>0ANDSP%(P,S)0THENGOSUB196:GOTO748 746 Y=YH%:X=XH%(C):GOSUB166 748 RETURN 750 : 752 : REM LONE HAND - COMPUTER 754 : 756 IFSN%(P,SB)<3ORNP%(PAND253)=9THEN780 758 SP=SB:GOSUB1500:IFR%(P,C)<>7+(PB<>PDANDSB=SUANDRU=7)THEN780 759 IFSN%(P,SB)=5THEN772 760 J=RB%(SB):FORK=1TO3:SP=A1%(SP):IFSN%(P,SP)=0THENJ=JORRB%(SP):GOTO764 762 GOSUB1500:IFR%(P,C)+SN%(P,SP)>5+(LV%=2)THENJ=JORRB%(SP) 764 NEXT:IFJ<>15THEN780 765 IFSN%(P,SB)=4THEN772 766 V=KS%(3)*(1+H%(LV%)+(NP%(A1%(P)AND253)=9)+(P=A1%(PD)))+KS%(6)+KS%(5)+KS%(4) 770 IFSP%(P,SB)1THENSB=SL%-2-(SL%-2>=SU) 862 RETURN 864 : 866 : REM LONE HAND - HUMAN 868 : 870 MA=9:MN=1:MX=99:GOSUB12:IFQ=3THENIFSL%=2THENPX=A2%(PB) 872 RETURN 874 : 876 : REM UPDATE SINGLE CARD IN HAND 878 : 880 R=R%(P,C):S=S%(P,C):IFP=0THENX=XH%(C):Y=YH%:GOSUB120:GOTO884 882 X=XC%(P-1)-C*2*(P=2):Y=YC%(P-1)+C*3*(P-2):GOSUB144 884 RETURN 886 : 888 : REM CLEAR BID RESPONSES 890 : 892 FORI=0TO3:SYSML+30,XR%(I,0),XR%(I,1),YR%(I,0),YR%(I,1),160,C0:NEXT 894 RETURN 896 : 898 : REM DISPLAY BID RESPONSE N=TEXT STRING # 900 : 902 SYSML+48,XR%(P,0),XR%(P,1),YR%(P,0),YR%(P,1),R(N-1,(PAND253)):SYSML+24,60 904 RETURN 1000 : 1002 : REM *** PLAY HAND 1004 : 1005 REM --- INITIALIZE 1006 FORI=0TO3:IFLV%<2THEN1016 1010 FORK=0TO2:S=FNCS(DH%(K)):R=FNCR(DH%(K)):IFR=2ANDS=SBTHENR=7:GOTO1014 1012 IFR=2ANDS=A2%(SB)THENR=6:S=SB 1014 CP%(I,S)=CP%(I,S)ORRB%(R):SO%(I,S)=SO%(I,S)-1:NEXT 1016 FORJ=0TO3:CH%(I,J)=0:SP%(I,J)=(I=PX):NEXT 1018 FORK=0TO4:S=S%(I,K):CH%(I,S)=CH%(I,S)ORRB%(R%(I,K)):NEXT 1020 FORJ=0TO3:SO%(I,J)=SO%(I,J)-SN%(I,J):NEXT:NEXT 1022 PW=A1%(PD):IFPW=PXTHENPW=A1%(PW) 1024 REM --- TRICK LOOP 1026 FORNT=5TO1STEP-1 1028 REM ::: LEAD 1030 PL=PW:P=PL:NC=0:TP=0:FORI=0TO3:TC%(I)=-1:NEXT 1032 IFFNHT(P)THENGOSUB1132:ONQGOTO1128,1128,1036 1034 GOSUB1176:ONBGOSUB1602,1500,1512:GOSUB12:IFQ<3THEN1128 1036 SL=S%(P,C):GOSUB1150:IFSL=SBTHENTP=1 1038 REM ::: PLAY AFTER LEAD 1040 P=A1%(P):IFP=PLTHEN1060 1042 NC=NC+1:IFP=PXTHEN1040 1044 IFFNHT(P)THENGOSUB1132:ONQGOTO1128,1128,1050 1046 ONNCGOSUB1246,1306,1386 1048 ONBGOSUB1602,1500,1512,1432,1574,1612:GOSUB12:IFQ<3THEN1128 1050 GOSUB1150 1052 IFTP=0THENIFS%(P,C)=SBTHENTP=1:PW=P:GOTO1038 1054 IFS%(P,C)<>S%(PW,TC%(PW))THEN1038:REM DIDN'T FOLLOW LEAD OR OVER TRUMP 1056 IFR%(P,C)255THENX=X-256:V=4+8 1064 POKESV+5,Y:POKESV+4,X:POKESV+7,Y:POKESV+6,X:POKESV+16,V 1066 POKESV+21,1+2+4+8:SYSML+24,120 1072 POKESV+21,1+2:GOSUB206:V=(PWAND253):NT%(V)=NT%(V)+1 1074 Y=YN%(0):X=XN%+4+7*V:N=NT%(V):POKE646,CT%(V):GOSUB356:POKE646,C0 1076 REM ::: CARDS PLAYED COUNT 1078 FORI=0TO3:IFTC%(I)=-1THEN1082 1080 FORJ=0TO3:CP%(J,S%(I,TC%(I)))=CP%(J,S%(I,TC%(I)))ORRB%(R%(I,TC%(I))):NEXT 1082 NEXT 1084 REM ::: NOBODY FOLLOWED LEAD 1086 V=PL:W=-1:FORI=1TO3:V=A1%(V):IFTC%(V)>-1THENIFS%(V,TC%(V))=SLTHENW=0:I=3 1088 NEXT:IFWTHENCP%(PL,SL)=255-CH%(PL,SL):SO%(PL,SL)=0 1090 REM ::: FLAG CARDS PLAYED 1092 FORI=0TO3:IFTC%(I)>-1THENR%(I,TC%(I))=-1:S%(I,TC%(I))=-1 1094 NEXT 1096 REM ::: 1098 NEXT 1100 REM --- POINTS 1102 T=(PBAND253):V=2+(NT%(T)<3)+(NT%(T)<5):ONVGOTO1106,1108 1104 NP%(1-T)=NP%(1-T)+2:GOTO1110 1106 NP%(T)=NP%(T)+1:GOTO1110 1108 NP%(T)=NP%(T)+2-(PX<>-1)*2 1110 GOSUB216:N=21+V:GOSUB236:SYSML+24,200:GOSUB226:T=1+(NP%(0)>9) 1112 Y=YN%(1):X=XN%+4+7*T:N=NP%(T):POKE646,CT%(T):GOSUB356:POKE646,C0 1114 : REM --- GAME/RUBBER OVER 1116 IFNP%(T)<10THEN1128 1118 NG%(T)=NG%(T)+1:GOSUB216:N=25+(NG%(T)<>3):GOSUB236 1120 Y=YN%(2):X=XN%+4+7*T:N=NG%(T):POKE646,CT%(T):GOSUB356:POKE646,C0 1122 SYSML+24,200:IFNG%(T)=3THEN1128 1124 GOSUB226 1126 Y=YN%(1):FORI=0TO1:NP%(I)=0:X=XN%+4+7*I:SYSML+30,X-1,X,Y,Y+1,160,C1:NEXT 1128 RETURN 1130 : 1132 : REM SELECT CARD TO PLAY - HUMAN 1134 : 1136 N=15:GOSUB176 1138 GOSUB12:ONQGOTO1146,1146,1140,1144 1140 C=CR%-5:IFR%(0,C)<0THEN1138 1142 IFP<>PLTHENIFS%(P,C)<>SLANDSN%(P,SL)<>0THEN1138 1144 SYSML+30,XU%-6,XU%+8,YH%-2,YH%-2,160,C0 1146 RETURN 1148 : 1150 : REM PLAY CARD 1152 : 1154 IFP>0THENGOSUB196:GOTO1158 1156 Y=YH%:X=XH%(C):GOSUB166 1158 R=R%(P,C):S=S%(P,C):X=XP%(P):Y=YP%(P):GOSUB120 1160 CH%(P,S%(P,C))=CH%(P,S%(P,C))-RB%(R%(P,C)) 1162 SN%(P,S%(P,C))=SN%(P,S%(P,C))-1 1164 V=P:FORI=1TO3:V=A1%(V):SO%(V,S%(P,C))=SO%(V,S%(P,C))-1:NEXT 1166 IFS%(P,C)<>SLTHENSP%(P,SL)=-1 1168 TC%(P)=C 1170 SYSML+24,30 1172 RETURN 1174 : 1176 : REM SELECT LEAD - COMPUTER 1178 : 1180 REM --- ONLY CARD LEFT 1182 IFNT=1THENB=1:GOTO1242 1184 REM --- HI/HIGHEST TRUMP 1186 SP=SB 1188 IFSN%(P,SB)=0THEN1202 1190 IFSN%(P,SB)=NTTHENB=2:GOTO1242 1192 IFP=PBANDPX<>-1ANDLV%<2THENB=2:GOTO1242 1194 GOSUB1526:IFA=0THEN1202 1196 IFP=A2%(PB)THENIFNT%(PAND253)<3THENB=2:GOTO1242 1198 GOSUB1622:IFATHEN1202 1199 IFNT%(PAND253)>3THENB=2:GOTO1242 1200 IFP=PBTHENGOSUB1660:IFATHENB=2:GOTO1242 1202 REM --- HI SAFE CARD 1204 GOSUB1622:IFA=0THEN1214 1206 SP=A1%(SP):IFSP=SBTHEN1214 1208 IFSN%(P,SP)=0THEN1206 1210 GOSUB1622:IFATHENB=2:GOTO1242 1212 GOTO1206 1214 REM --- HIGHEST CARD IN SUIT 1216 N=0 1218 SP=A1%(SP):IFSP=SBTHEN1228 1220 IFSN%(P,SP)=0THEN1218 1222 GOSUB1526:IFA=0THEN1218 1224 IFSO%(P,SP)>NTHENN=SO%(P,SP):SL=SP 1226 GOTO1218 1228 IFN>0THENSP=SL:B=2:GOTO1242 1230 REM --- TRUMP 1231 IFP<>PBORSN%(P,SB)=0ORNT%(PAND253)+SN%(P,SB)<3THEN1234 1232 GOSUB1622:IFATHENB=2:GOTO1242 1233 GOSUB1526:IFATHENGOSUB1660:IFATHENB=2:GOTO1242 1234 REM --- HI CARD IN LONG SUIT 1235 N=1:SL=-1 1236 SP=A1%(SP):IFSP=SBTHENSP=SL:B=2:GOTO1242 1237 IFSN%(P,SP)-1THENIFCH%(P,SP)<=CH%(P,SL)THEN1236 1240 N=SN%(P,SP):SL=SP:GOTO1236 1242 RETURN 1244 : 1246 : REM SELECT 2ND CARD - COMPUTER NOT USED DURING LONE HAND PLAY 1248 : 1250 REM --- ONLY CARD LEFT 1252 IFNT=1THENB=1:GOTO1302 1254 REM --- FOLLOW SUIT 1256 SP=SL 1258 IFSN%(P,SL)=0THEN1266 1260 IFSN%(P,SL)=1THENB=6:GOTO1302 1262 GOSUB1588:IFATHENB=3:GOTO1302 1264 GOSUB1542:B=3+A:GOTO1302 1266 REM --- SLUFF, NO TRUMP 1268 IFSN%(P,SB)=0THEN1298 1270 REM --- TRUMP 1272 SP=SB 1274 IFSP%(A1%(P),SB)OR(SO%(P,SB)=0)THENB=3:GOTO1302 1276 IFSP%(A1%(P),SL)OR(SO%(P,SL)=0)THENB=2:GOTO1302 1278 GOSUB1648:IFATHENB=3:GOTO1302 1280 IF(SN%(P,SB)=NT)OR(P=A2%(PB))THENB=2:GOTO1302 1281 IFLV%=0THEN1298 1282 REM ::: BIDDER 1284 IFP<>PBTHEN1292 1286 IFNT+NT%(PAND253)<=3THENB=2:GOTO1302 1288 GOSUB1526:IFAANDNT%(PAND253)>=2THENB=2:GOTO1302 1290 GOTO1298 1292 REM ::: DEFENDERS DO NOT PLAY HIGHEST TRUMP UNLESS 1294 GOSUB1526:IFATHENIFNT%(PBAND253)=2THENB=2:GOTO1302 1296 IFA=0ORSN%(P,SB)>1THENB=3:GOTO1302 1298 REM --- SLUFF 1300 B=4 1302 RETURN 1304 : 1306 : REM SELECT 3RD CARD - COMPUTER 1308 : 1310 REM --- ONLY CARD LEFT 1312 IFNT=1THENB=1:GOTO1382 1314 REM --- FOLLOW SUIT 1316 SP=SL 1318 IFSN%(P,SL)=0THEN1328 1320 IFSN%(P,SL)=1THENB=6:GOTO1382 1322 IFTP=1THENIFSL<>SBTHENB=3:GOTO1382 1324 IFP=A2%(PW)THENGOSUB1556:B=3+A:GOTO1302 1326 GOSUB1526:B=3+A:GOTO1382 1328 REM --- SLUFF, NO TRUMP 1330 IFSN%(P,SB)=0THEN1378 1332 REM --- SLUFF, CAN'T WIN TRICK 1334 IFTP=1THENGOSUB1542:IFA=0THEN1378 1336 REM --- SLUFF, PARTNER HAS TRICK 1338 IFP<>A2%(PW)THEN1346 1340 GOSUB1588:IFA=0THEN1346 1342 IF(SP%(A1%(P),SB))OR(SO%(P,SB))=0THEN1378 1344 GOSUB1648:IFATHEN1378 1346 REM --- TRUMP / OVER TRUMP 1348 SP=SB 1350 IF(SP%(A1%(P),SB))OR(SO%(P,SB)=0)THENB=3+2*TP:GOTO1382 1352 IFSP%(A1%(P),SL)OR(SO%(P,SL)=0)THENB=2:GOTO1382 1354 GOSUB1648:IFATHENB=3+2*TP:GOTO1382 1356 IF(SN%(P,SB)=NT)OR(P=A2%(PB))THENB=2:GOTO1382 1357 IFLV%=0THEN1378 1358 REM ::: BIDDER 1360 IFP<>PBTHEN1370 1362 IF(NT+NT%(PAND253)<=3)OR(PX<>-1ANDNT=5)THENB=2:GOTO1382 1364 GOSUB1526:IFATHENIFNT%(PAND253)>=2THENB=2:GOTO1382 1366 IFTP=0THENIFSO%(P,PL)>0THENIFA=0ORSN%(P,PB)>1THENB=3:GOTO1382 1368 GOTO1378 1370 REM ::: DEFENDERS DO NOT PLAY HIGHEST TRUMP UNLESS 1372 GOSUB1526:IFATHENIFNT%(PBAND253)=2THENB=2:GOTO1382 1374 IFTP=0THENIFA=0ORSN%(P,SB)>1THENB=3:GOTO1382 1376 GOSUB1526:IFATHENIFNT%(PBAND253)=2THENB=2:GOTO1382 1378 REM --- SLUFF 1380 B=4 1382 RETURN 1384 : 1386 : REM SELECT LAST CARD - COMPUTER 1388 : 1390 REM --- ONLY CARD LEFT 1392 IFNT=1THENB=1:GOTO1428 1394 REM --- FOLLOW SUIT 1396 SP=SL 1398 IFSN%(P,SP)=0THEN1408 1400 IFSN%(P,SP)=1THENB=6:GOTO1428 1402 IFTP=1ANDSP<>SBTHENB=3:GOTO1428 1404 IFP=A2%(PW)THENB=3:GOTO1428 1406 GOSUB1542:B=3-2*A:GOTO1428 1408 REM --- SLUFF, NO TRUMP LEFT 1410 IFSN%(P,SB)=0THEN1424 1412 REM --- SLUFF, PARTNER HAS TRICK 1414 IFP=A2%(PW)THEN1424 1416 REM --- TRUMP 1418 IFTP=0THENSP=SB:B=3:GOTO1428 1420 REM --- OVER TRUMP 1422 GOSUB1542:IFATHENSP=SB:B=5:GOTO1428 1424 REM --- SLUFF 1426 B=4 1428 RETURN 1430 : 1432 : REM SLUFF CARD 1434 : 1436 IFSN%(P,SB)=NTTHEN1486 1438 IFNT-SN%(P,SB)>1THEN1444 1440 REM --- ONLY NON-TRUMP SINGLETON 1442 FORI=0TO4:C=I:I=I+(I-4)*(S%(P,I)<>-1ANDS%(P,I)<>SB):NEXT:GOTO1496 1444 REM --- SINGLETON, NOT HIGHEST 1446 W=0:FORI=0TO4:SP=S%(P,I):IFSP=-1ORSP=SBTHEN1454 1448 IFSN%(P,SP)<>1THEN1454 1450 GOSUB1634:FORJ=0TO5:R=5-J:W=((NANDRB%(R))=0):J=J+(J-5)*W:NEXT 1452 IFWTHENW=(R%(P,I)<>R):IFWTHENC=I:I=4 1454 NEXT:IFWTHEN1496 1456 REM --- NOBODY ELSE HAS ANY 1458 SP=SB:FORI=1TO3:SP=A1%(SP):W=(SN%(P,SP)>0ANDSO%(P,SP)=0):I=I+(I-3)*W:NEXT 1460 IFWTHEN1490 1462 REM --- REDUNDANT BACKER 1464 W=6:SP=SB:FORJ=1TO3:SP=A1%(SP):IFSP=-1THEN1468 1466 GOSUB1500:V=R%(P,C)+SN%(P,SP):IFV>WTHENW=V:S=SP 1468 NEXT:IFW>6THENSP=S:GOTO1490 1470 REM --- LONG SUIT LO CARD 1472 W=0:FORI=0TO4:S=S%(P,I):IFS=-1ORS=SBTHEN1476 1474 IFSN%(P,S)>WTHENW=SN%(P,S):SP=S 1476 NEXT:IFW>0THEN1490 1478 REM --- LOWEST RANK CARD IN HAND 1480 W=8:FORI=0TO4:S=S%(P,I):IFS=-1ORS=SBTHEN1484 1482 IFR%(P,I)RTHENR=R%(P,I):C=I 1506 NEXT 1508 RETURN 1510 : 1512 : REM SUIT LO CARD 1514 : 1516 R=8:FORI=0TO4 1518 IFS%(P,I)=SPTHENIFR%(P,I)>-1THENIFR%(P,I)=RB%(R)) 1538 RETURN 1540 : 1542 : REM CAN HAND WIN TRICK? 1544 : 1546 A=0:FORI=0TO4 1548 IFS%(P,I)=S%(PW,TC%(PW))THENIFR%(P,I)>R%(PW,TC%(PW))THENA=-1:I=4 1550 NEXT 1552 RETURN 1554 : 1556 : REM WIN PARTNER'S TRICK? 1558 : 1560 A=0:V=R%(PW,TC%(PW)):S=S%(PW,TC%(PW)):IFV>5THEN1570 1562 FORI=V+1TO7:R=I:W=((CP%(P,S)ANDRB%(R))=0) 1564 IFWTHENFORJ=0TO4:W=(S%(P,J)=SANDR%(P,J)=R):J=J+(J-4)*W:NEXT:IFW=0THENW=-1 1566 I=I+(I-7)*W:NEXT:IFR=7THEN1570 1568 V=R:FORI=V+1TO7:R=I:A=((CP%(P,S)ANDRB%(R))=0):I=I+(I-7)*A:NEXT 1570 RETURN 1572 : 1574 : REM WINNING LO CARD 1576 : 1578 V=8:FORI=0TO4 1580 IFS%(P,I)=S%(PW,TC%(PW))THENW=R%(P,I)-R%(PW,TC%(PW)):IFW0THENV=W:C=I 1582 NEXT 1584 RETURN 1586 : 1588 : REM HIGHEST CARD IN SUIT LEAD? 1590 : 1592 FORI=0TO7:R=7-I:A=((CP%(PL,SL)ANDRB%(R))=0):I=I+(I-7)*A:NEXT 1594 IFATHENA=(R%(PL,TC%(PL))=R) 1598 RETURN 1600 : 1602 : REM ONLY CARD 1604 : 1606 FORI=0TO4:A=(R%(P,I)>-1):C=I:I=I+(I-4)*A:NEXT 1608 RETURN 1610 : 1612 : REM ONLY CARD IN SUIT 1614 : 1616 FORI=0TO4:A=(S%(P,I)=SP):C=I:I=I+(I-4)*A:NEXT 1618 RETURN 1620 : 1622 : REM OPPONENTS OUT OF SUIT? 1624 : 1626 IFSO%(P,SP)=0THENA=-1:GOTO1630 1628 V=A1%(P):A=SP%(V,SP):IFATHENV=A2%(V):A=SP%(V,SP) 1630 RETURN 1632 : 1634 : REM CURRENT CARD COUNT FOR SUIT N=COUNT 1636 : 1638 N=CP%(P,SP):FORK=0TO3:IFTC%(K)=-1THEN1642 1640 IFS%(K,TC%(K))=SPTHENN=NORRB%(R%(K,TC%(K))) 1642 NEXT 1644 RETURN 1646 : 1648 : REM WILL OPPONENT FOLLOW SUIT? 1650 : 1652 N=18+3*(LV%=2)-4*(5-NT)-NC:IFSO%(P,SL)>N-NTTHENA=-1:GOTO1656 1654 A=(NT*SO%(P,SL)/N>O(LV%)) 1656 RETURN 1658 : 1660 : REM LEAD TRUMP? 1662 : 1664 N=0:V=P:W=(NT*SO%(P,SB)/(18+3*(LV%=2)-4*(5-NT))>O(LV%)) 1666 FORI=1TO3:V=A1%(V):N=N+W*(SP%(V,SB)=0):NEXT:A=(SN%(P,SB)>SO%(P,SB)-N) 1668 RETURN 2000 : 2002 : REM *** PLAY NEW GAME 2004 : 2006 GOSUB3360 2008 Y=YN%(1):FORI=0TO1:NP%(I)=0:X=XN%+4+7*I:SYSML+30,X-1,X,Y,Y+1,160,C1:NEXT 2010 GOSUB332 2012 Y=YN%(2):FORI=0TO1:X=XN%+4+7*I:NG%(I)=0:N=0:POKE646,CT%(I):GOSUB356:NEXT 2014 GOSUB216:SYSML+183,19 2016 SYSML+12,XH%(3),YC%(1),MID$(W$,1,11):SYSML+12,XH%(3),YC%(1)+1,MID$(W$,12) 2018 GOSUB346:PD=0:N=0:SYSML+24,20 2020 W=PEEK(RV+N)-1:X=XP%(PD):Y=YP%(PD):S=FNCS(W):R=FNCR(W):GOSUB120 2022 IFR<>2THENSYSML+24,20:GOSUB166:N=N+1:PD=A1%(PD):GOTO2020 2024 SYSML+24,100:GOSUB166:GOSUB226:Q=2 2026 RETURN 2028 : 2030 : REM *** EDIT SETUP 2032 : 2034 SYSML+39,HG 2036 SYSML+126,0,39,0,24,222,223,C4,C5 2038 POKE53281,C2:SYSML+48,9,30,3,18,A(1):POKEMV,LS:POKEMV+2,8:MB%=MB%OR128 2040 SYSML+9:IFCR%=0THENSYSML+60,"Q":IFI%=0THEN2040 2042 IFCR%=8ORI%=1THEN2058 2044 ON3+(CR%>3)+(CR%>5)GOTO2054,2050 2046 N=1+LV%:IFCR%<>NTHENGOSUB2116:N=CR%:GOSUB2126:LV%=CR%-1 2048 GOTO2040 2050 N=4+(MB%AND127):IFCR%<>NTHENGOSUB2116:N=CR%:GOSUB2126:MB%=CR%-4 2052 GOTO2040 2054 N=7-HP%:IFCR%<>NTHENGOSUB2116:N=CR%:GOSUB2126:HP%=7-CR% 2056 GOTO2040 2058 SYSML+45,9,30,3,18,A(1) 2060 GOSUB2106 2062 Q=4-HP% 2064 IFQ<>QSTHENIFMN>0THENGOSUB186 2066 IFMB%<128ORQ<>QSTHENGOSUB102 2068 MB%=MB%AND127 2070 RETURN 2072 : 2074 : REM *** HELP 2076 : 2078 SYSML+39,HG:SYSML+42,HH:POKEMV,LH:POKEMV+2,6:SYSML+129,B(1),B(1)+4,MV+24 2080 SYSML+210,1+128,38,4,19,C0,C0,C1+128,C3,0,"","":GOSUB2106 2082 RETURN 2084 : 2086 : REM *** QUIT 2088 : 2090 SYSML+39,HG 2092 SYSML+126,0,39,0,24,223,222,C4,C5 2094 POKE53281,C2:SYSML+48,11,29,6,15,A(0):POKEMV,LQ:POKEMV+2,2 2096 SYSML+9:IFCR%=0THENSYSML+60,"YN":CR%=I%:IFCR%=0THEN2096 2098 IFCR%=1THENQ=1:GOTO2102 2100 GOSUB2106 2102 RETURN 2104 : 2106 : REM RESTORE GAME SCREEN 2108 : 2110 SYSML+42,HG:POKEMV,LG:POKEMV+2,9:SYSML+129,B(3),B(3)+4,MV+24:POKE646,C0 2112 RETURN 2114 : 2116 : REM OPTION REGION OFF N=REGION # 2118 : 2120 SYSML+36,N,255,C1 2122 RETURN 2124 : 2126 : REM OPTION REGION ON N=REGION # 2128 : 2130 SYSML+36,N,255,C3 2132 RETURN 3000 : 3002 : REM *** INITIALIZE 3004 : 3006 REM --- 3008 DIM CC%,CR%,CX%,CY%,I%,L1%,L2%,N%,PP%,PX%,PY%,R1%,R2%,RG%,SC%,SL%,F$,W$ 3010 DIM HP%,LV%,HP%,XM%,XN%,XU%,YH%,YM%,YU% 3012 DIM A,B,C,C0,C1,C2,C3,C4,C5,HG,HH,HR,I,J,K,KS,LG,LH,LQ,LS 3014 DIM MA,ML,MN,MV,MX,N,NC,NT,P,PB,PD,PL,PW,PX,Q,QR,QS,R,RL,RU,RV,DV 3016 DIM S,SB,SL,SP,SU,SV,T,TP,V,W,X,Y 3018 DIM K$,M$,X$ 3020 DIM A1%(3),A2%(3),CH%(3,3),CP%(3,3),CS%(4),CT%(1),DH%(2),H%(2),KS%(6) 3022 DIM NG%(1),NP%(1),NT%(1),R%(3,4),RB%(7),S%(3,4),SN%(3,3),SO%(3,3) 3024 DIM SP%(3,3),TC%(3),XC%(2),XB%(3,1),XD%(3,1),XH%(4),XP%(3),XR%(3,1) 3026 DIM YC%(2),YB%(3,1),YD%(3,1),YN%(2),YP%(3),YR%(3,1) 3028 DIM A(5),B(3),O(2),R(10,1) 3030 DIM N$(1),R$(8),S$(4),T$(1) 3031 DV=PEEK(186):IFDV<8THENDV=8 3032 REM --- 3038 DEFFNCS(X)=INT(X/6):DEFFNCR(X)=X-INT(X/6)*6 3040 DEFFNME(X)=MA+X-(MA+X>=MX) 3042 DEFFNKS(X)=X+(X-6)*(X=2)+(X>2) 3043 DEFFNHT(X)=(X=0ANDHP%=1) 3044 REM --- MOUSE 2.1 3046 ML=132*256:MV=ML+309 3048 POKEMV+1,7:REM REGION DATA HB 3050 LG=0:LH=LG+9*4:LQ=LH+6*4:LS=LQ+2*4 3052 POKEMV+10,32:REM MENU TYPE 3054 POKEMV+12,32:REM MENU ESC KEY 3056 FORI=41TO49:READV:POKEMV+I,V:NEXT 3058 REM ---RANDOM 2-254 3060 HR=202:RL=HR*256:RV=RL+95 3062 REM --- 3064 C0=6:C1=15:C2=0:C3=2:C4=11:C5=12 3066 HG=160:HH=168 3068 REM --- CUT/PASTE LOCATIONS 3070 A(0)=176*256:A(1)=A(0)+380 3072 A(2)=6*256:A(3)=A(2)+12:A(4)=A(3)+12:A(5)=A(4)+12 3074 V=4*256:FORI=0TO10:FORJ=0TO1:R(I,J)=V:V=V+20:NEXT:NEXT 3076 REM --- RACK FILES & SAVE MV+24/27 3078 B(0)=224*256:SYSML+204,B(0):B(1)=PEEK(MV+24)+PEEK(MV+25)*256+3*N% 3080 SYSML+129,MV+24,MV+27+1,B(1) 3082 B(2)=200*256:SYSML+204,B(2):B(3)=PEEK(MV+24)+PEEK(MV+25)*256+3*N% 3084 SYSML+129,MV+24,MV+27+1,B(3) 3094 REM --- DEFAULTS 3096 LV%=1:MB%=0:HP%=1 3098 REM --- 3100 MN=0:P=0:Q=3:FORI=0TO3:TC%(I)=-1:FORJ=0TO4:R%(I,J)=-1:S%(I,J)=-1:NEXT:NEXT 3102 T$(0)="[210][197][196]":T$(1)="[194][204][203]":CT%(0)=2:CT%(1)=0 3103 H%(0)=1:H%(1)=0:H%(2)=-1 3104 FORI=0TO7:RB%(I)=2^I:NEXT 3105 O(0)=0.75:O(1)=0.67:O(2)=0.5 3106 REM --- 3108 FORI=0TO4:READS$(I):NEXT 3110 FORI=0TO4:READCS%(I):NEXT 3112 FORI=0TO8:READR$(I):NEXT 3113 FORI=0TO3:READA1%(I):NEXT 3114 FORI=0TO3:READA2%(I):NEXT 3115 FORI=0TO6:READKS%(I):NEXT 3116 FORI=0TO3:FORJ=0TO1:READXD%(I,J),YD%(I,J):NEXT:NEXT 3118 FORI=0TO2STEP2 3120 XB%(I,0)=XD%(I,0)-2:YB%(I,0)=YD%(I,0):XB%(I,1)=XD%(I,1)+3:YB%(I,1)=YD%(I,1) 3122 NEXT 3124 FORI=1TO3STEP2 3126 XB%(I,0)=XD%(I,0):YB%(I,0)=YD%(I,0)-2:XB%(I,1)=XD%(I,1):YB%(I,1)=YD%(I,1)+2 3128 NEXT 3130 READXN%,YN%(0),YN%(1),YN%(2) 3132 READXU%,YU% 3134 FORI=0TO4:READXH%(I):NEXT:READYH% 3136 FORI=0TO2:READXC%(I),YC%(I):NEXT 3138 READXM%,YM% 3140 FORI=0TO3:READXP%(I),YP%(I):NEXT 3142 FORI=0TO1:READN$(I):NEXT 3144 XR%(0,0)=XU%-3:YR%(0,0)=YH%-2:XR%(0,1)=XR%(0,0)+9:YR%(0,1)=YR%(0,0) 3146 XR%(1,0)=XC%(0)+2:YR%(1,0)=YC%(2)+2:XR%(1,1)=XR%(1,0):YR%(1,1)=YR%(1,0)+9 3148 XR%(2,0)=XU%-3:YR%(2,0)=YC%(1)+3:XR%(2,1)=XR%(2,0)+9:YR%(2,1)=YR%(2,0) 3150 XR%(3,0)=XC%(2)-2:YR%(3,0)=YC%(2)+2:XR%(3,1)=XR%(3,0):YR%(3,1)=YR%(3,0)+9 3152 REM --- 3153 POKE53265,11:REM SCREEN OFF 3154 SYSML+231,204,192 3155 SV=53248:REM SPRITE 3156 POKE53240+2,46:POKESV+41,10:REM SPRITE 2 3157 POKE53240+3,47:POKESV+42,0:REM SPRITE 3 3158 REM --- PRINT & STORE QUIT SCREEN 3160 PRINT"[147]":POKE53281,C2 3162 POKEMV,LQ 3164 SYSML+30,11,29,6,15,160,C5+32 3166 SYSML+30,12,28,7,14,160,C5 3168 POKE199,1 3170 POKE646,C5 3172 SYSML+12,14,8,"[209]UIT [197]UCHRE?" 3174 POKE646,C1:Y=11:FORI=1TO2:READN,X$,X:GOSUB3346:NEXT 3176 POKE199,0 3178 SYSML+45,11,29,6,15,A(0) 3180 REM --- PRINT & STORE HELP SCREEN 3182 PRINT"[147]":POKE53280,C5:POKE53281,C2 3184 POKEMV,LH 3186 SYSML+30,0,39,0,24,160,C5 3188 SYSML+30,0,39,3,20,160,C1+32 3190 SYSML+30,1,38,4,19,160,C1 3192 POKE199,1 3194 POKE646,C5 3196 SYSML+27,0,"[197]UCHRE [200]ELP" 3198 SYSML+27,1,"[204]INE #### OF ####":SYSML+228,204*256+40+16,204*256+40+24,0 3200 POKE199,1:POKE646,C1:Y=22:FORI=1TO4:READN,X$,X:GOSUB3346:NEXT:POKE199,0 3202 SYSML+39,HH 3204 REM --- PRINT & STORE SETUP SCREEN 3206 PRINT"[147]":POKE53281,C2 3208 POKEMV,LS 3210 SYSML+30,9,30,3,18,160,C5+32 3212 SYSML+30,10,29,4,17,160,C5 3214 POKE199,1 3216 POKE646,C5 3218 Y=5:SYSML+27,Y,"[197]UCHRE [211]ETUP" 3220 Y=8:X=12:SYSML+12,X,Y,"[204]EVEL" 3222 POKE646,C1:FORN=1TO3:Y=Y+1:READX$:GOSUB3372:NEXT 3224 POKE646,C5 3226 Y=8:X=20:SYSML+12,X,Y," [194]OWERS " 3228 POKE646,C1:FORN=4TO5:Y=Y+1:READX$:GOSUB3372:NEXT 3230 POKE646,C5 3232 Y=14:X=12:SYSML+12,X,Y,"[200]UMAN" 3234 POKE646,C1:FORN=6TO7:Y=Y+1:READX$:GOSUB3372:NEXT 3236 Y=14:READN,X$,X:GOSUB3346 3238 POKE199,0 3240 N=1+LV%:GOSUB2126:N=4+MB%:GOSUB2126:N=7-HP%:GOSUB2126 3242 SYSML+45,9,30,3,18,A(1) 3244 REM --- PRINT & STORE GAME SCREEN 3246 PRINT"[147]":POKE53280,C4:POKE53281,C1 3248 POKEMV,LG 3250 SYSML+30,0,39,0,24,160,C4 3252 POKE199,1:POKE646,C0:FORI=0TO10 3254 SYSML+183,1+I:SYSML+12,XR%(0,0),YR%(0,0),MID$(W$+" ",1,10) 3256 SYSML+45,XR%(0,0),XR%(0,1),YR%(0,0),YR%(0,1),R(I,0) 3258 FORK=0TO9:SYSML+12,XR%(1,0),YR%(1,0)+K,MID$(W$+" ",1+K,1):NEXT 3260 SYSML+45,XR%(1,0),XR%(1,1),YR%(1,0),YR%(1,1),R(I,1) 3262 NEXT:POKE199,0 3264 FORI=0TO1 3266 POKE646,CT%(0) 3268 SYSML+186,XD%(0,0),YD%(0,0),16+I 3270 SYSML+45,XD%(0,0),XD%(0,1),YD%(0,0),YD%(0,1),A(2+2*I) 3272 POKE646,CT%(1) 3274 SYSML+183,16+I:FORK=0TO5:SYSML+12,XD%(1,0),YD%(1,0)+K,MID$(W$,1+K,1):NEXT 3276 SYSML+45,XD%(1,0),XD%(1,1),YD%(1,0),YD%(1,1),A(2+2*I+1) 3278 NEXT 3280 GOSUB3360 3282 FORI=0TO3:READX$:POKE646,CT%(IAND253) 3284 FORJ=0TO1:READX,Y:SYSML+12,X,Y,X$:NEXT:NEXT 3286 FORI=0TO3:POKE646,CT%(IAND253):FORJ=0TO1:READX,Y:SYSML+12,X,Y," ":NEXT:NEXT 3288 POKE646,C0 3290 FORI=0TO4:READX$:FORJ=0TO2:SYSML+12,XN%,YN%(J)-3+I,X$:NEXT:NEXT 3292 SYSML+12,XN%+4,YN%(1)-3,"[208]OINTS":SYSML+12,XN%+4,YN%(2)-3,"[199]AMES " 3294 POKE646,CT%(0):FORJ=0TO2:SYSML+12,XN%+2,YN%(J)-2,T$(0):NEXT 3296 POKE646,CT%(1):FORJ=0TO2:SYSML+12,XN%+9,YN%(J)-2,T$(1):NEXT 3298 POKE646,C0 3300 K$="QPEH":M$=K$+"[136]":FORI=1TO4:READN,X$,X,Y:GOSUB3346:NEXT 3302 FORI=0TO4:SYSML+15,5+I,XH%(I),XH%(I)+2,YH%,YH%+3:NEXT 3304 SYSML+39,HG 3306 REM --- TITLE SCREEN 3307 SYSML+231,204,192 3308 PRINT"[147]":POKE53280,12:POKE53281,C2 3309 SYSML+126,0,39,0,24,222,223,C1,12 3311 SYSML+30,3,35,5,14,160,C1+32:SYSML+30,4,34,6,13,160,C1:POKE646,C1 3312 SYSML+12,10,6,"[185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]" 3313 SYSML+12,10,7," [161][162] [163][164] [165][166] [167][168] [169][170] [161][162] " 3314 SYSML+12,10,8," [171][172] [173][174] [175][176] [177][178] [179][180] [171][172] " 3315 SYSML+12,10,9,"[182][182][182][182][182][182][182][182][182][182][182][182][182][182][182][182][182][182][182]" 3316 SYSML+12,10,10,"BY [204]ANCE [195]. [212]HOMAS[146]" 3317 SYSML+12,4,12,"(C) 2000 [202][160]& [198] [208]UBLISHING, [201]NC.[146]" 3320 DV=PEEK(186):IFDV<8THENDV=8 3330 REM --- START GAME 3334 POKE53265,27:REM SCREEN ON 3336 SYSML:SYSML+6,203*256:REM TURN ON MOUSE AND POINTER(SPRITE 0 & 1) 3337 SYSML+18,0,38,0,23 3338 SYSML+9:IFL2%=0THEN3338 3339 PRINT"[147]":SYSML+231,204,192:SYSML+54,"NUMBERS",DV,49152+96*8 3341 GOSUB2106 3342 RETURN 3344 : 3346 : REM COMMAND BUTTON REGION N=REGION # 3348 : 3350 SYSML+15,N,X,X+LEN(X$)-1,Y,Y+2 3352 SYSML+36,N,255,C1 3354 POKE199,1:SYSML+12,X,Y+1,X$:POKE199,0 3356 RETURN 3358 : 3360 : REM CLEAR PLAY AREA 3362 : 3364 SYSML+30,16,38,1,23,160,C0 3366 FORI=0TO3:SYSML+30,XB%(I,0),XB%(I,1),YB%(I,0),YB%(I,1),160,C1:NEXT 3368 RETURN 3370 : 3372 : REM OPTION REGION N=REGION # 3374 : 3376 SYSML+15,N,X,X+LEN(X$)-1,Y,Y 3378 SYSML+12,X,Y,X$ 3380 RETURN 4000 : 4002 : REM *** EXIT PROGRAM 4004 : 4006 POKESV+21,0:SYSML+231,4,24:SYSML+3:POKE646,12 4008 FORI=8TO29:POKE820+I,I:NEXT:IFDV>8ANDDV<30THENPOKE828,DV:POKE820+DV,8 4010 A$="PRESENTER":GOSUB4014:A$="HELLO CONNECT":GOSUB4014 4012 PRINT"[147]":POKE53272,23:POKE186,8:POKE2048,0:POKE44,8:POKE43,1:END 4014 FORJ=8TO29:I=PEEK(820+J):IFI=14THENNEXT 4016 CLOSE2:OPEN2,I,2:CLOSE2:IFSTTHEN4020 4018 CLOSE15:OPEN15,I,15,"R0:"+A$+"="+A$:INPUT#15,ER:CLOSE15:IFER=63THEN4022 4020 NEXT:RETURN 4022 A$="HELLO CONNECT":Q$=CHR$(34):POKE646,PEEK(53281):PRINT"[147]":POKE53272,23 4024 PRINT"[147]P[207]2048,0:P[207]44,8:P[207]43,1:P[207]56,160:P[207]55,0:CLR:L[207]"Q$A$Q$","I 4026 PRINT"RUN:":POKE631,13:POKE632,13:POKE198,2:END 9000 : 9002 : REM *** DATA 9004 : 9006 DATA32,118,121,125,126,117,119,120,122:REM BOX/FRAME 9008 DATA"[219]","[220]","[221]","[255]","[191]" 9010 DATA 2 , 0 , 2 , 0 , 0 9012 DATA"9","[223]","[202]","[209]","[203]","[193]","[204]","[210]","[191]" 9013 DATA1,2,3,0 :REM A1%() 9014 DATA2,3,0,1 :REM A2%() 9015 DATA1,1,2,4,8,12,16 :REM KS%() 9016 DATA24,24,29,24,15,08,15,13, 24,00,29,00,39,08,39,13 9018 DATA00, 03,09,15 :REM # 9020 DATA26,09 :REM UP 9022 DATA34,30,26,22,18, 19 :REM P0 9024 DATA17,16,23,2,37,4 :REM P1-P3 9026 DATA23,14 :REM MENU 9028 DATA26,13,22,9,26,5,30,9:REM PLAY 9030 DATA"[161][162][163][164][165][166][167][168][169][170]" 9032 DATA"[171][172][173][174][175][176][177][178][179][180]" 9034 REM --- QUIT 9036 DATA1," [[217]]ES ",13,2," [[206]]O ",22 9038 REM --- HELP 9040 DATA1," [[200][207][205][197]] ",1,2," [ [213][208] ] ",11,3," [[196][207][215][206]] ",21,4," [[209]]UIT ",31 9042 REM --- SETUP 9044 DATA" 1 "," 2 "," 3 " 9046 DATA" [206]ORMAL "," [205]ARKED " 9048 DATA" [217]ES "," [206]O " 9050 DATA8," [[209]]UIT ",20 9052 REM --- GAME 9054 DATA"[193]",20,24,34,24,"[194]",15,4,15,17,"[195]",20,0,34,0,"[196]",39,4,39,17 9056 DATA21,24,33,24,15,5,15,16,21,0,33,0,39,5,39,16 9058 DATA" [212]RICKS " 9060 DATA" [190][189][146] " 9062 DATA"[192][192][192][192][192][192][187][188][192][192][192][192][192][192]" 9064 DATA" [190][189][146] " 9066 DATA" [190][189][146] " 9068 DATA2,"[161][172][173][174][175][176]",0,18,3,"[161][177][178][179][165][166]",8,18,4,"[161][167][168][169][170][171]",0,22,1,"[161][162][163][164][165][166]",8,22 10000 D=PEEK(186):N$="0:EUCHRE.BAS":OPEN15,D,15,"S"+N$:CLOSE15:SAVEN$,D:END