10 GOSUB1100:GOSUB1000:GOSUB2700:GOSUB1300:GOSUB10000 25 GOSUB2000 30 IFTP<>4THEN70 35 POKEX,12:POKEY,30:SYSPLT:PRINT"[144]NO BIDS"; 40 POKEX,13:POKEY,28:SYSPLT:PRINT"HAND DUMPED"; 50 GOSUB1400:FORI=0TO4:POKEX,19:POKEY,I*5+2:SYSPLT:PRINTEC$;:NEXT 51 DL=FNNP(DL):POKEX,7:POKEY,12:SYSPLT:PRINTEC$; 55 GOSUB1900:GOTO25 70 POKEX,12:POKEY,30:SYSPLT:PRINT"[144]TRUMP: "CO$(TP)S$(TP); 75 POKEX,13:POKEY,29:SYSPLT:PRINT"[144]BIDDER:";:IFBD=0THENPRINT"YOU";:GOTO90 80 PRINT" P"RIGHT$(STR$(BD),1); 90 PRINT"";:IFKU=0THEN135 100 IFDL>0THEN125 115 POKEX,15:POKEY,28:SYSPLT:PRINT"[144]PICK DISCARD"; 121 GOSUB2200:POKEX,15:POKEY,28:SYSPLT:PRINT" ";:GOTO130 125 GOSUB2300 130 C(DL,F)=KC:S(DL,F)=KS:GOSUB1220 135 POKEX,7:POKEY,12:SYSPLT:PRINTEC$; 140 GOSUB2500:GOSUB3000:IF(PW(0)>9)OR(PW(1)>9)THEN300 150 POKEX,21:POKEY,31:SYSPLT:N=0:GOSUB1465 151 POKEX,21:POKEY,35:SYSPLT:N=0:GOSUB1465 200 POKEX,7:POKEY,31:SYSPLT:N=PW(0):GOSUB1465 205 POKEX,7:POKEY,35:SYSPLT:N=PW(1):GOSUB1465 210 DL=FNNP(DL):GOSUB1355:GOTO25 300 WT=0:IFPW(1)>=10THENWT=1 305 POKEX,7:POKEY,29+WT*6:SYSPLT:N=1:GOSUB1465 310 POKEX,7:POKEY,31+WT*6:SYSPLT:N=PW(WT)-10:GOSUB1465 315 FORDE=1TO2000:NEXT 320 GOSUB1450:POKEX,13:POKEY,30:SYSPLT:PRINT"YOU"; 321 IFWT=0THENPRINT" WIN!"; 322 IFWT=1THENPRINT" LOSE"; 325 POKEX,15:POKEY,11:SYSPLT:PRINT"PLAY AGAIN?[146]"; 330 LO=11:HI=12:XP=15:YP=23:GOSUB1910 340 IFAN=11THENRUN 350 PRINT"[147]"; 999 END 1000 POKE53281,15:POKE53280,6:REM SETSCR 1005 PRINT"[147]"; 1010 FORI=1TO24:PRINT" [146] ";:NEXT 1015 PRINT" [146]"; 1020 PRINTSPC(28)"[176][195][195][195][195][195][195][195][195][195][195][174]"; 1025 PRINTSPC(28)"[194] EUCHRE [194]"; 1030 PRINTSPC(28)"[173][195][195][195][195][195][195][195][195][195][195][189]"; 1031 PRINTSPC(28)" "; 1032 PRINTSPC(28)" POINTS [146]"; 1035 PRINTSPC(28)" YOU [167][165]COMP "; 1040 PRINTSPC(28)"[183][183][183][183][183][208][207][183][183][183][183][183]"; 1045 FORI=1TO4:PRINTSPC(28)" [167][165] ";:NEXT 1050 PRINTSPC(28)"[183][183][183][183][183][183][183][183][183][183][183][183]"; 1051 PRINTSPC(28)"[164][164][164][164][164][164][164][164][164][164][164][164]"; 1055 PRINTSPC(28)" TRICKS [146]"; 1060 PRINTSPC(28)" YOU [167][165]COMP "; 1065 PRINTSPC(28)"[183][183][183][183][183][208][207][183][183][183][183][183]"; 1070 FORI=1TO3:PRINTSPC(28)" [167][165] ";:NEXT 1075 PRINTSPC(28)" [167][165] "; 1080 POKE2023,32:POKE56295,6 1081 POKEX,7:POKEY,31:SYSPLT:GOSUB1465:POKEX,7:POKEY,35:SYSPLT:GOSUB1465 1082 POKEX,21:POKEY,31:SYSPLT:GOSUB1465:POKEX,21:POKEY,35:SYSPLT:GOSUB1465 1090 RETURN 1100 DIM C1$(7),C2$(7),S$(3),DC(23),DS(23),C(3,4),S(3,4),CO$(3),CX(3),CY(3) 1101 DIM OB(6),OU(6),PU(6),MS(6,3),GA(6),ME$(15),PX(3),PY(3),NM$(9,2),NF(6) 1102 DIM CL(7,3) 1108 X=RND(-TI) 1109 FORI=0TO3:READS$(I),CO$(I):NEXT 1110 DATA"[218]","","[216]","[144]","[211]","","[193]","[144]" 1111 FORI=0TO6:READNF(I):NEXT:DATA4,0,1,2,3,4,0 1115 FORI=0TO7:READC1$(I),C2$(I):NEXT 1120 DATA"9 "," 9","1O","1O","J "," J","Q "," Q","K "," K","A "," A" 1125 DATA"J "," J","J "," J" 1130 FORI=251TO254:READQ:POKEI,Q:NEXT 1135 DATA24,76,240,255 1140 PLT=251:X=781:Y=782:SX=53248:BL$=" " 1145 EC$=" [157][157][157][157]":EC$=""+EC$+EC$+EC$+EC$+EC$+"[146]" 1150 FORJ=0TO3:FORI=0TO5 1155 DC(J*6+I)=I:DS(J*6+I)=J 1160 NEXTI:NEXTJ 1161 FORI=0TO3:READPX(I),PY(I):NEXT:DATA13,12,7,7,1,12,7,17 1165 FORI=0TO3:READCX(I),CY(I):NEXT 1170 DATA17,11,10,4,3,11,10,21 1171 FORI=0TO2:FORJ=0TO9:READNM$(J,I):NEXT:NEXT 1172 DATA" [187]","[161][146][161]","[162] ","[162] ","[161][161]"," [162]"," [162]","[162] "," [187]","[172] " 1173 DATA" [161]","[161][146][161]"," [162]","[162] ","[188][188]","[162] "," [187]","[146]  "," [187]","[188] " 1174 DATA" [190]","[161][146][161]"," [146][162]","[146][162] ","[146] [161]","[146][162] "," [190]","[146]  "," [190]","[146][162] " 1175 DEF FNNP(X)=((X+1)/4-INT((X+1)/4))*4 1176 FORI=0TO5:READCP(I):NEXT:DATA1,1,8,1,2,-1 1177 FORI=0TO13:README$(I):NEXT 1178 DATA"PASS ","ORDER UP","PASS ","PICK UP"," PASS " 1179 DATA"[218] DIAMONDS","[216] CLUBS ","[211] HEARTS ","[193] SPADES ","NORMAL " 1180 DATA"AGGRESSIVE","YES","NO ","YES" 1185 FORI=1TO3:READMX(I),MY(I):NEXT:DATA7,2,1,10,7,19 1186 FORI=0TO6:READOB(I),OU(I),PU(I),MS(I,0),MS(I,1),MS(I,2),MS(I,3),GA(I):NEXT 1187 DATA99,99,99,99,99,99,99,99 1188 DATA99,99,99,99,99,99,99,99 1189 DATA99,99,14,14,14,13,13,99 1190 DATA20,12,08,08,08,08,07,19 1191 DATA14,00,00,00,00,00,00,16 1192 DATA00,00,00,00,00,00,00,14 1193 DATA00,00,00,00,00,00,00,00 1199 RETURN 1200 IF(S=TP)AND(C=6)THENS=S+2:S=(S/4-INT(S/4))*4 1205 PRINTCO$(S)C1$(C)" [157][157][157][157]"S$(S)" [157][157][157][157] [157][157][157][157] "S$(S)"[157][157][157][157] "C2$(C); 1207 PRINT""; 1210 RETURN 1220 FORU=0TO4:POKEX,19:POKEY,U*5+2:SYSPLT 1225 C=C(0,U):S=S(0,U):GOSUB1200:NEXTU 1230 RETURN 1250 FORI=0TO23:J=INT(RND(1)*24) 1255 T=DC(I):DC(I)=DC(J):DC(J)=T 1260 T=DS(I):DS(I)=DS(J):DS(J)=T 1265 NEXT 1270 FORJ=0TO3:FORI=0TO4 1275 C(J,I)=DC(J*5+I):S(J,I)=DS(J*5+I):NEXT:NEXT:KC=DC(20):KS=DS(20) 1280 RETURN 1300 GOSUB1450:POKEX,12:POKEY,28:SYSPLT 1305 PRINT"[144]FIRST BLACK"; 1310 POKEX,13:POKEY,29:SYSPLT 1315 PRINT"JACK DEALS"; 1320 GOSUB1250:DL=0:CC=0 1325 POKEX,CX(DL):POKEY,CY(DL):SYSPLT 1330 C=DC(CC):S=DS(CC):GOSUB1200 1331 FORDE=1TO500:NEXT 1335 IF(DC(CC)=2)AND((DS(CC)AND253)=1)THENGOTO1355 1336 POKEX,CX(DL):POKEY,CY(DL):SYSPLT 1337 FORDE=1TO100:NEXT 1340 PRINTEC$;:CC=CC+1:DL=FNNP(DL):GOTO1325 1355 GOSUB1450:PRINT"[144]";:POKEX,12:POKEY,29:SYSPLT 1356 IFDL=0THEN1370 1360 PRINT" PLAYER"DL; 1362 POKEX,13:POKEY,31:SYSPLT 1365 PRINT"DEALS";:GOTO1375 1370 PRINT"YOUR DEAL"; 1375 GOSUB1400 1376 POKEX,CX(DL):POKEY,CY(DL):SYSPLT:PRINTEC$; 1380 RETURN 1400 POKEX,15:POKEY,28:SYSPLT 1405 GOSUB6000:PRINT"[144] HIT BUTTON [146]";:POKE198,0 1410 GETWT$:IF(WT$<>CHR$(13))AND(PEEK(56320)<>111)THEN1410 1415 PRINT"";:GOSUB1450 1430 RETURN 1450 FORR=12TO16:POKEX,R:POKEY,28:SYSPLT 1455 PRINT" ";:NEXT 1460 RETURN 1465 PRINT"";:FORI=0TO2:PRINTNM$(N,I)"[157][157]";:NEXT:PRINT"[146]"; 1470 RETURN 1500 FORI=0TO3:SP(P,I)=FC(PAND253):NS(P,I)=0:NEXT 1505 FORI=0TO4:S=S(P,I):C=C(P,I):SP(P,S)=SP(P,S)+CP(C):NS(P,S)=NS(P,S)+1 1510 IFC=2THENS=S+2:S=(S/4-INT(S/4))*4:SP(P,S)=SP(P,S)+6:NS(P,S)=NS(P,S)+1 1515 IFC=5THENFORJ=0TO3:SP(P,J)=SP(P,J)+4:NEXTJ 1520 NEXTI 1525 SS=0:FORI=0TO4:IFNS(P,I)=0THENSP(P,I)=0:SS=SS+1 1530 NEXT:FORI=0TO3:SP(P,I)=SP(P,I)+SS:NEXT 1535 IFP<>DLTHEN1550 1540 IFKC=5THENSP(P,KS)=SP(P,KS)+4 1545 SP(P,KS)=SP(P,KS)+CP(KC):NS(P,KS)=NS(P,KS)+1 1550 RETURN 1600 LO=0:HI=1:XP=13:YP=10:GOSUB1910 1605 IF AN=1THENTP=KS 1610 RETURN 1615 POKEX,13:POKEY,10:SYSPLT:PRINT"LONEHAND?[146]"; 1616 LO=12:HI=13:XP=13:YP=20:GOSUB1910:LH=0 1618 IFAN=13THENLH=1:POKEX,MX(BD)+2:POKEY,MY(BD):SYSPLT:PRINT"LONEHAND[146]"; 1619 POKEX,13:POKEY,10:SYSPLT:PRINT" [146]"; 1620 RETURN 1625 LH=0:IFSP(P,TP)>GA(NS(P,TP))THENLH=1 1630 RETURN 1650 IFFNNP(FNNP(P))=DLTHENGOSUB1625:F=LH:GOTO1685 1654 F=0:IFKC=2THENGOTO1660 1655 IFSP(P,KS)>OU(NS(P,KS))THENF=1 1660 IFSP(P,KS)>OB(NS(P,KS))THENF=1 1665 IF(F=0)OR(P<>FNNP(DL))THEN1685 1670 SB=CP(KC):IFKC=5THENSB=3 1675 FORI=0TO3:IFI<>KSTHENIFSP(P,I)>=(SP(P,KS)-SB)THENF=0 1680 NEXT 1685 IFF=1THENTP=KS 1699 RETURN 1700 LO=2:HI=3:XP=13:YP=11:GOSUB1910 1705 IF AN=3THENTP=KS 1710 RETURN 1750 IFSP(P,KS)>PU(NS(P,KS))THENTP=KS 1755 RETURN 1800 LO=4:HI=8:XP=13:YP=9:GOSUB1910 1801 IFAN-5=KSTHEN1800 1805 IFAN>4THENTP=AN-5 1810 RETURN 1850 DF=0:FORI=0TO3:IFI=KSTHEN1865 1855 IFSP(P,I)-MS(NS(P,I),PS)ANTHEN1925 1921 IF(AN=LO)OR(HI-LO=1)THENPRINT"";:GOTO1925 1922 PRINTCO$(I-LO-1); 1925 POKEX,X1:POKEY,Y1:SYSPLT:PRINTME$(I);:X1=X1+1:NEXT 1930 GETR$:DR=PEEK(56320):IFNOT((R$="[145]")OR(DR=126))THENGOTO1940 1935 AN=AN-1:IFANHITHENAN=LO 1950 IFNOT((R$=CHR$(13))OR(DR=111))THENGOTO1915 1955 X1=XP:Y1=YP:PRINT"";:FORI=LOTOHI 1960 POKEX,X1:POKEY,Y1:SYSPLT:PRINTLEFT$(BL$,LEN(ME$(LO)));:X1=X1+1:NEXT 1965 PRINT"[146]";:RETURN 2000 GOSUB1250:GOSUB1220:P=FNNP(DL):TP=4:BD=0:KU=0 2005 POKEX,7:POKEY,12:SYSPLT:C=KC:S=KS:GOSUB1200 2007 IFDL<>0THENPOKEX,MX(DL):POKEY,MY(DL)+1:SYSPLT:PRINT"DEALER" 2010 GOSUB1500 2015 IFP=0THENGOSUB1600:GOTO2040 2016 IFABS(P-DL)<>2THEN2020 2017 GOSUB1625:IFLH=1THENTP=KS:GOTO2025 2020 GOSUB1650 2025 POKEX,MX(P):POKEY,MY(P):SYSPLT:PRINT""; 2030 IFTP=4THENPRINT" PASS":GOTO2040 2035 BD=P:PRINT"ORDER UP"; 2040 P=FNNP(P):IF(P<>DL)AND(TP=4)THEN2010 2045 P=DL:GOSUB1500:IFTP<>4THEN2105 2050 IFDL=0THENGOSUB1700:GOTO2070 2055 GOSUB1750:POKEX,MX(DL):POKEY,MY(DL):SYSPLT:PRINT""; 2060 IFTP=4THENPRINT" TURNED[157][157][157][157][157]DOWN";:GOTO2070 2065 BD=P:PRINT" PICKED[157][157][157][157]UP"; 2070 FORDE=1TO2000:NEXT 2071 IF(BD=0)AND(TP<>4)THEN2105 2072 POKEX,7:POKEY,12:SYSPLT:PRINTEC$;:IFTP<>4THEN2105 2073 GOSUB1900:PS=0 2075 P=FNNP(P) 2080 IFP=0THENGOSUB1800:GOTO2090 2085 GOSUB1850:POKEX,MX(P):POKEY,MY(P):SYSPLT:PRINT""; 2086 FORDE=1TO600:NEXT 2088 IFTP=4THENPRINT" PASS";:GOTO2090 2089 BD=P:PRINTRIGHT$(ME$(TP+5),8); 2090 IF(P<>DL)AND(TP=4)THENPS=PS+1:GOTO2075 2100 GOTO2109 2105 KU=1:IF(BD=0)AND(DL=2)THENLH=1:GOTO2120 2109 IFTP=4THEN2140 2110 IF(LH=1)AND(BD<>0)THEN2120 2111 IFBD=0THENGOSUB1615:GOTO2140 2112 GOSUB1625 2115 IFLH=0THEN2140 2120 POKEX,MX(BD)+2:POKEY,MY(BD):SYSPLT:PRINT"LONEHAND"; 2140 PRINT"[146]";:FORDE=1TO2000:NEXT 2145 GOSUB1900 2150 RETURN 2200 POKE198,0:F=-1 2205 F=F+1:IFC(0,F)=-1THEN2205 2210 G=F:POKESX+1,214:POKESX,(F*5+3)*8+22:POKE53269,1 2215 POKESX+1,214:POKESX,(F*5+3)*8+22 2220 GETR$:DR=PEEK(56320):IF(R$="")AND(DR=127)THEN2220 2225 G=F:IFNOT((R$="[157]")OR(DR=123))THEN2250 2230 F=NF(F):IFC(0,F)<0THEN2230 2245 GOTO2215 2250 IFNOT((R$="")OR(DR=119))THEN2275 2255 F=NF(F+2):IFC(0,F)<0THEN2255 2270 GOTO2215 2275 IFNOT((R$=CHR$(13))OR(DR=111))THEN2215 2280 RETURN 2300 FORI=0TO4:IF(S(P,I)=TP)AND(C(P,I)=2)THENC(P,I)=7:GOTO2310 2305 IF((S(P,I)AND253)=(TPAND253))AND(C(P,I)=2)THENC(P,I)=6:S(P,I)=TP 2310 NEXT 2315 FORI=0TO4:FORJ=0TO3:IFS(P,J)>S(P,J+1)THENGOTO2331 2320 IFS(P,J)=S(P,J+1)THENIFC(P,J)>C(P,J+1)THENGOTO2331 2325 T=C(P,J):C(P,J)=C(P,J+1):C(P,J+1)=T 2330 T=S(P,J):S(P,J)=S(P,J+1):S(P,J+1)=T 2331 NEXT 2335 FORI=0TO4:PT(I)=0:IFS(P,I)=TPTHENPT(I)=C(P,I)+10:GOTO2350 2340 IFC(P,I)=5THENPT(I)=9:GOTO2350 2345 IF(S(P,I)<>S(P,NF(I)))AND(S(P,I)<>S(P,NF(I+2)))THENPT(I)=-1 2350 NEXT 2355 L=99:FORI=0TO4:IFPT(I)2THEN2515 2505 IFS(I,J)=TPTHENC(I,J)=7:GOTO2515 2510 IFABS(S(I,J)-TP)=2THENC(I,J)=6:S(I,J)=TP 2515 NS(I,S(I,J))=NS(I,S(I,J))+1:NEXT:NEXT 2520 RETURN 2700 PRINT"PARTNER?[146]";:LO=9:HI=10:XP=2:YP=12:GOSUB1910 2705 FC(0)=0:IFAN=10THENFC(0)=2 2710 PRINT"OPPONENTS?[146]";:LO=9:HI=10:XP=2:YP=14:GOSUB1910 2715 FC(1)=0:IFAN=10THENFC(1)=2 2720 PRINT" [146]";:RETURN 3000 FORI=0TO7:FORJ=0TO3:CL(I,J)=0:NEXT:NEXT:CL(2,TPAND253)=1 3001 FORI=0TO3:SL(I)=0:NEXT 3002 LD=FNNP(DL):DM=4:TR(0)=0:TR(1)=0:IFLH=0THEN3015 3005 IFBD=2THENFORI=0TO4:POKEX,19:POKEY,I*5+2:SYSPLT:PRINTEC$;:NEXT 3010 DM=FNNP(FNNP(BD)) 3011 IFLH=1THENIFLD=DMTHENLD=FNNP(LD) 3015 FORTK=0TO4:P=LD:PS=0:TL=0:IFDM=PTHENP=FNNP(P) 3020 GOSUB3500:WP=P:IFLH=1THENPS=PS+1 3021 SL(S(P,PC(P)))=1 3025 IFS(P,PC(P))=TPTHENTL=1 3030 FORI=1TO3:P=FNNP(P):IFP=DMTHEN3060 3035 PS=PS+1:GOSUB3500:IFTL=0THEN3050 3040 IFS(P,PC(P))=TPTHENIFC(P,PC(P))>C(WP,PC(WP))THENWP=P 3045 GOTO3060 3050 IFS(P,PC(P))=TPTHENWP=P:TL=1:GOTO3060 3055 IFS(P,PC(P))=S(WP,PC(WP))THENIFC(P,PC(P))>C(WP,PC(WP))THENWP=P 3060 NEXT:FORDE=1TO400:NEXT 3065 POKESX+3,(PX(WP)+1)*8+52:POKESX+2,(PY(WP)+1)*8+19:POKE53269,2 3071 FORDE=1TO3000:NEXT:LD=WP:WT=WPAND253:TR(WT)=TR(WT)+1 3072 POKEX,21:POKEY,31+4*WT:SYSPLT:N=TR(WT):GOSUB1465:POKE53269,0 3075 FORI=0TO3:POKEX,PX(I):POKEY,PY(I):SYSPLT:PRINTEC$;:C(I,PC(I))=-1:NEXT:NEXT 3078 POKEX,MX(BD)+2:POKEY,MY(BD):SYSPLT:PRINT" [146]"; 3080 BT=BDAND253:POKEX,15:POKEY,28:SYSPLT 3085 PRINT"[144]";:IFTR(BT)<3THEN3108 3086 IFTR(BT)<5THEN3097 3087 PW(BT)=PW(BT)+2+LH*2 3090 IFBT=0THENPRINT" YOU WON[157][157][157][157][157][157][157][157][157]ALL TRICKS";:GOTO3200 3095 IFBT=1THENPRINT"COMPUTER WON[157][157][157][157][157][157][157][157][157][157][157]ALL TRICKS";:GOTO3200 3097 PW(BT)=PW(BT)+1 3100 IFTR(0)>2THENPRINT"YOU WON HAND";:GOTO3200 3105 IFTR(1)>2THENPRINT" COMPUTER[157][157][157][157][157][157][157][157]WON HAND";:GOTO3200 3108 PW(1-BT)=PW(1-BT)+2 3110 IFTR(0)<3THENPRINT"YOU'VE BEEN[157][157][157][157][157][157][157][157][157][157]EUCHRED!":GOTO3200 3115 IFTR(1)<3THENPRINT" COMPUTER[157][157][157][157][157][157][157][157]EUCHRED!";: 3119 FORDE=1TO4000:NEXT 3200 FORDE=1TO4000:NEXT:PRINT""; 3205 RETURN 3500 IFP>0THEN3509 3501 POKEX,15:POKEY,28:SYSPLT 3502 PRINT"[144] YOUR PLAY [146]";:GOSUB2200 3503 LS=S(LD,PC(LD)):IF(PS=0)OR(S(P,F)=LS)OR(NS(P,LS)=0)THEN3507 3504 GOSUB2215:GOTO3503 3505 POKE53269,0:POKEX,19:POKEY,F*5+2:SYSPLT:PRINTEC$;:GOTO3530 3507 POKEX,15:POKEY,28:SYSPLT:PRINT" " 3508 POKE53269,0:POKEX,19:POKEY,F*5+2:SYSPLT:PRINTEC$;:GOTO3530 3509 IFTK<5THEN3515 3510 FORK=0TO4:IFC(P,J)>-1THENF=I 3512 NEXT:GOTO3530 3515 ON(PS+1)GOSUB4000,4100,4200,4200 3530 PC(P)=F:POKEX,PX(P):POKEY,PY(P):SYSPLT:C=C(P,F):S=S(P,F):GOSUB1200 3535 NS(P,S(P,F))=NS(P,S(P,F))-1:CL(C(P,F),S(P,F))=1 3540 RETURN 4000 IFNOT(NS(P,TP)=5-TK)THEN4015 4005 SP=TP:GOSUB5200:IFF=1THENGOTO5150 4010 GOTO5160 4015 IFNOT((LH=1)AND(BD=P))THENGOTO4030 4020 IFNS(P,TP)>0THENSP=TP:GOTO5150 4025 GOTO5050 4030 GOSUB5000:IF(F=1)AND(ABS(BD-P)=2)THENSP=TP:GOTO5150 4035 GOSUB5250:IFNOT((F=1)AND(P=BD))THENGOTO5050 4040 GOSUB5200:IFF=1THENSP=TP:GOTO5150 4045 IFNS(P,TP)>2THENSP=TP:GOTO5160 4050 GOTO5050 4100 IFNS(P,S(LD,PC(LD)))=0THEN4115 4105 GOSUB5300:SP=S(LD,PC(LD)):IFF=1THEN5150 4110 GOTO5160 4115 IFNS(P,TP)=5-TKTHENSP=TP:GOTO5160 4120 IFNS(P,TP)=0THEN5100 4125 IFC(LD,PC(LD))=5THENSP=TP:GOTO5160 4130 IFBD<>PTHENSP=TP:GOTO5160 4135 GOSUB5250:IFF=1THENSP=TP:GOTO5160 4140 GOTO5100 4200 IFNS(P,S(LD,PC(LD)))=0THEN4235 4201 SP=S(LD,PC(LD)) 4205 IF(SP<>TP)AND(TL=1)THEN5160 4210 IFABS(WP-P)<>2THEN4225 4215 GOSUB5300:IFF=1THENGOSUB5350:IFF=0THEN5150 4220 GOTO5160 4225 GOSUB5300:IFF=1THEN5150 4230 GOTO5160 4235 IFNS(P,TP)<5-TKTHEN4270 4245 SP=TP:IFABS(WP-P)=2THEN5160 4250 IFTL=0THEN5160 4255 GOSUB5300:IFF=1THENGOTO5400 4260 GOTO5160 4270 IFNS(P,TP)=0THENGOTO5100 4275 IFABS(WP-P)<>2THEN4310 4280 IF(TL=1)OR(PS=3)THEN5100 4285 IFC(WP,PC(WP))=5THEN5100 4290 IFC(WP,PC(WP))<4THENSP=TP:GOTO5160 4300 GOSUB5250:IFF=1THENSP=TP:GOTO5160 4305 GOTO5100 4310 IFTL=0THENSP=TP:GOTO5160 4315 GOSUB5300:IFF=1THENSP=TP:GOTO5400 4320 GOTO5100 5000 F=0:FORA=0TO4:IFC(P,A)>5THENF=1 5005 NEXT:RETURN 5050 F=-1:FORA=0TO4:IF(SL(S(P,A))=0)AND(S(P,A)<>TP)THENIFC(P,A)=5THENF=A 5055 NEXT:IFF>-1THEN5070 5060 LC=-1:FORA=0TO4:IFS(P,A)<>TPTHENIFC(P,A)>LCTHENLC=C(P,A):F=A 5065 NEXT 5070 RETURN 5100 IFNS(P,TP)>0THEN5125 5105 SP=-1:FORA=0TO4 5110 IFS(P,A)<>TPTHENIF(C(P,A)=5)AND(NS(P,S(P,A))>1)THENSP=S(P,A) 5115 NEXT:IFSP>-1THEN5160 5120 GOTO5180 5125 V=4:F=-1:FORA=0TO4 5126 IFS(P,A)=TPTHEN5135 5130 IF(NS(P,S(P,A))<>1)OR(SL(S(P,A))=1)THEN5135 5131 IF(C(P,A)>=0)AND(C(P,A)VTHENV=C(P,A):F=A 5155 NEXT:RETURN 5160 V=10:FORA=0TO4 5161 IFS(P,A)=SPTHENIF(C(P,A)>=0)AND(C(P,A)TPTHENIFC(P,A)>-1THENIFC(P,A)0THENIFCL(HT,TP)=1THEN5205 5210 IFHT<0THEN5240 5215 FORA=0TO4:IFS(P,A)=TPTHENIFC(P,A)=HTTHENF=1 5220 NEXT 5240 RETURN 5250 F=1:FORA=0TO4:IFC(P,A)>-1THENIF(S(P,A)<>TP)AND(C(P,A)<5)THENF=0 5255 NEXT:RETURN 5300 F=0:FORA=0TO4:IFS(P,A)=S(WP,PC(WP))THENIFC(P,A)>C(WP,PC(WP))THENF=1 5305 NEXT:RETURN 5350 F=0:FORA=0TO4:IFS(P,A)=S(WP,PC(WP))THENIFC(P,A)-C(WP,PC(WP))=1THENF=1 5355 NEXT:RETURN 5400 D=10:FORA=0TO4 5405 IFS(P,A)=S(WP,PC(WP))THENE=C(P,A)-C(WP,PC(WP)):IF(E0)THEND=E:F=A 5410 NEXT:RETURN 6000 FORR=54272TO54296:POKER,0:NEXT:POKE54275,1 6010 POKE54277,21:POKE54278,135:POKE54273,150:POKE54276,17 6020 FORR=15TO0STEP-.2:POKE54296,R:NEXT 6030 POKE54276,16:POKE54296,0:RETURN 10000 POKE53285,13:POKE53287,11:POKE53288,5:POKE53276,2:POKE2040,13:POKE2041,14 10010 SA=832:FORJ=0TO1:SA=SA+J*64:FORI=0TO63:READA:POKESA+I,A:NEXT:NEXT:RETURN 10050 DATA 0,96,0,6,108,0,6,108 10051 DATA 0,6,109,128,3,109,128,3 10052 DATA 253,128,27,255,0,13,255,0 10053 DATA 15,255,0,7,254,0,3,254 10054 DATA 0,1,252,0,0,252,0,0 10055 DATA 252,0,0,0,0,0,0,0 10056 DATA 0,0,0,0,0,0,0,0 10057 DATA 0,0,0,0,0,0,0,190 10060 DATA 10,170,168,10,149,168,10,85 10061 DATA 104,9,89,88,9,106,152,9 10062 DATA 153,88,9,153,88,9,153,88 10063 DATA 9,153,88,9,106,88,9,89 10064 DATA 152,9,89,152,9,89,152,9 10065 DATA 89,152,9,170,88,9,89,88 10066 DATA 10,85,104,10,149,168,10,170 10067 DATA 168,0,0,0,0,0,0,0