5 POKE56576,4:POKE53272,2:POKE648,192:POKE53265,27 10 POKE53280,0:POKE53281,0:PRINT"[147][146][156]"TAB(10)"SOLITAIRES SUPREME" 20 PRINTTAB(10)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":POKE53269,0:POKE50168,45:POKE53287,14 30 DIMCD(13,25),AC(4,2),DK(52),RK$(13),LN(13),A(4),BK(4),PL(52),UN(52) 40 DEFFNRK(X)=(13*INT((X-1)/13)-X)*(X>0) 50 DEFFNSU(X)=INT((X-1)/13)+1 60 DEFFNCD(X)=CD(X,LN(X)) 70 FORX=1TO52:DK(X)=X:NEXT 80 FORX=0TO4:READCL$(X),SU$(X),DN$(X):NEXT 90 DATA"[144]","","[144]","[144]","[193]","[152]","","[211]","[150]","","[218]","[150]","[144]","[216]","[152]" 100 FORX=0TO13:READRK$(X):NEXT 110 DATA"","[209]","[215]","[197]","[210]","[212]","[217]","[213]","[201]","[196]","[198]","[199]","[200]","[202]" 120 BK$="[207][208][157][157][204][186][145]" 130 PRINTTAB(13)"[159]1[154] BISLEY":PRINTTAB(13)"[159]2[154] KLONDIKE" 140 PRINTTAB(13)"[159]3[154] GOLF":PRINTTAB(13)"[159]4[154] GAPS" 150 PRINTTAB(13)"[159]I[154] INSTRUCTIONS" 160 PRINTTAB(13)"[159]Q[154] QUIT" 180 GETA$:IF(A$<"1"ORA$>"4")ANDA$<>"I"ANDA$<>"Q"THEN180 190 IFA$<>"Q"THEN240 200 POKE214,18:PRINT:PRINTTAB(20)"[156]ARE YOU SURE? (Y[156]/N[156])" 210 GETA$:IFA$<>"Y"ANDA$<>"N"THEN210 220 IFA$="N"THENPOKE214,18:PRINT:PRINTTAB(20)" ":GOTO180 230 PRINT"[147]":POKE648,4:POKE53272,21:POKE56576,(PEEK(56576)AND252)OR3:PRINT"[147]" 231 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 232 IFER<>63THENEND 233 PRINT"[147][144]LOAD"CHR$(34)"HELLO CONNECT"CHR$(34)",8" 234 PRINT"RUN" 235 POKE631,13:POKE632,13:POKE198,2:END 240 ONVAL(A$)GOSUB320,1150,2600,3140 250 IFA$<>"I"THENRUN 260 POKE214,16:PRINT:PRINTTAB(15)"[156]FOR WHICH GAME? ([159]1[156]-[159]4[156])" 270 GETA$:IF(A$<"1"ORA$>"4")ANDA$<>"Q"THEN270 280 IFA$="Q"THENRUN 290 ONVAL(A$)GOSUB1010,2450,3000,3910 300 RUN 310 REM BISLEY 320 GOSUB4240:GM=1:PRINT""TAB(14)"[144]B I S L E Y" 330 DEFFNSY(Y)=108+8*Y 340 DEFFNXX(X)=-(X>9) 350 DEFFNSX(X)=16+24*X-256*FNXX(X) 360 HZ=1:AC=0:T=0:GOSUB4030 370 FORX=1TO4:A(X)=1:KG(X)=14:LN(X)=3:NEXT:FORX=5TO13:LN(X)=4:NEXT 380 PRINT"[144][209][193][209][211][209][218][144][209][216]":PRINT"    " 381 PRINT"[145][145]"TAB(28)"    ":PRINTTAB(28)"    " 390 CD=0:FORX=1TO13:FORY=1TO3:CD=CD+1 400 IF(FNRK(DK(CD))=1)THENCD=CD+1:GOTO400 410 CD(X,Y)=DK(CD):NEXT:NEXT:Y=4 420 FORX=5TO13:CD=CD+1 430 IF(FNRK(DK(CD))=1)THENCD=CD+1:GOTO430 440 CD(X,Y)=DK(CD):NEXT 450 FORY=1TO4:FORX=1TO13:PRINT""; 460 M=CD(X,Y):GOSUB4060 470 NEXT:PRINT:NEXT 480 PRINT"[144]FROM?":IFHZ=0THENHZ=1 490 IFLN(HZ)=0THENHZ=HZ+1:GOTO490 500 POKE53269,0:POKE53264,FNXX(HZ):POKE53248,FNSX(HZ):POKE53249,FNSY(LN(HZ)) 510 POKE53269,1:GOSUB4160 520 IFA$=CHR$(13)THEN630 530 IFA$<>"[157]"ANDA$<>"[145]"THEN550 540 HZ=HZ-1-13*(HZ=1):IFLN(HZ)=0THEN540 550 IFA$<>""ANDA$<>""THEN570 560 HZ=HZ+1+13*(HZ=13):IFLN(HZ)=0THEN560 570 IFA$="Q"THEN590 580 GOTO500 590 PRINT"[144]QUIT? (Y/N)" 600 GETA$:IFA$<>"Y"ANDA$<>"N"THEN600 610 IFA$="N"THENPRINT"[144] ":GOTO480 620 POKE214,17:PRINT:GOTO970 630 FM=HZ:PRINT"[157][157]";:FORX=1TOFM:PRINT"";:NEXT:FORX=1TOLN(FM) 640 PRINT"";:NEXT:M=CD(FM,LN(FM)):GOSUB4090 650 PRINT"[144] TO? " 660 POKE53269,0:POKE53264,FNXX(HZ):POKE53248,FNSX(HZ):POKE53249,FNSY(LN(HZ)) 670 POKE53269,1:GOSUB4160 680 IFA$=CHR$(13)THEN760 690 IFA$="[157]"THENHZ=HZ-1-14*(HZ=0):IFLN(HZ)=0ANDHZ>0THEN690 700 IFA$=""THENHZ=HZ+1+14*(HZ=13):IFLN(HZ)=0ANDHZ>0THEN700 710 IF(A$="[145]"ORA$="")THENHZ=1+(HZ>0) 720 IFHZ<>0THEN750 721 IF(FNRK(FNCD(FM))=13)THEN729 722 IFA(FNSU(FNCD(FM)))+1=FNRK(FNCD(FM))THEN730 723 IFKG(FNSU(FNCD(FM)))-1=FNRK(FNCD(FM))THEN729 724 GOTO730 729 POKE53269,0:POKE53248,24*(FNSU(FNCD(FM))-1):POKE53249,92:POKE53264,1:GOTO670 730 POKE53269,0:POKE53248,16+24*FNSU(FNCD(FM)):POKE53249,92:POKE53264,0:GOTO670 740 POKE53269,1:GOTO670 750 GOTO660 760 TU=HZ 770 IFTU>0THEN860 780 IF(FNRK(FNCD(FM))=13)THEN820 781 IFA(FNSU(FNCD(FM)))+1<>FNRK(FNCD(FM))THEN820 790 PRINT"[157][157]";:FORX=1TOFNSU(FNCD(FM)):PRINT"";:NEXT 800 M=CD(FM,LN(FM)):GOSUB4060 810 AC=AC+1:A(FNSU(FNCD(FM)))=A(FNSU(FNCD(FM)))+1:GOTO910 820 IFKG(FNSU(FNCD(FM)))-1<>FNRK(FNCD(FM))THENGOSUB980:GOTO480 830 PRINT"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";:FORX=1TOFNSU(FNCD(FM)):PRINT"";:NEXT 840 M=FNCD(FM):GOSUB4060 850 AC=AC+1:KG(FNSU(FNCD(FM)))=KG(FNSU(FNCD(FM)))-1:GOTO910 860 IFFNSU(FNCD(FM))<>FNSU(FNCD(TU))THENGOSUB980:GOTO480 870 IFABS(FNRK(FNCD(FM))-FNRK(FNCD(TU)))<>1THENGOSUB980:GOTO480 880 PRINT"[157][157]";:FORX=1TOTU:PRINT"";:NEXT:FORX=1TOLN(TU)+1 890 PRINT"";:NEXT 900 M=FNCD(FM):GOSUB4060 910 PRINT"[157][157]";:FORX=1TOFM:PRINT"";:NEXT:FORX=1TOLN(FM) 920 PRINT"";:NEXT 930 LN(TU)=LN(TU)+1:CD(TU,LN(TU))=FNCD(FM):LN(FM)=LN(FM)-1 940 M=FNCD(FM):GOSUB4060:PRINT"[157][157][144] " 950 T=T+1:PRINT"[157][157][157][157][144]"T:LN(0)=1:IFAC<48THEN480 960 POKE214,17:PRINT:PRINT"[144] CONGRATULATIONS! YOU WON IN"T"MOVES" 970 PRINT"[145][145]":GOSUB4130:RUN 980 PRINT"[157][157]";:FORX=1TOFM:PRINT"";:NEXT:FORX=1TOLN(FM) 990 PRINT"";:NEXT:GOSUB4060:RETURN 1000 REM BISLEY INSTRUCTIONS 1010 PRINT"[147][156]BISLEY INSTRUCTIONS" 1020 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 1030 PRINT"[154] THE OBJECT IS TO BUILD ALL OF THE" 1040 PRINT" CARDS IN THE LAYOUT TO THE ACES AND" 1050 PRINT" KINGS IN SUIT." 1060 PRINT" ONLY THE BOTTOM CARD OF EACH ROW" 1070 PRINT" MAY BE MOVED. IT MAY BE PLACED ON THE" 1080 PRINT" ACE PILE, THE KING PILE, OR ONTO THE" 1090 PRINT" BOTTOM OF ANOTHER COLUMN, BUILDING" 1100 PRINT" EITHER UP OR DOWN IN SUIT. ANY TIME" 1110 PRINT" A KING IS AVAILABLE, IT MAY BE PLACED" 1120 PRINT" IN A ROW ABOVE THE LAYOUT." 1130 GOSUB4120:RETURN 1140 REM KLONDIKE 1150 GOSUB4240:GM=2:PRINT""TAB(12)"[144]K L O N D I K E" 1160 DEFFNSY(Y)=92+8*Y 1170 DEFFNXX(X)=-(X>6) 1180 DEFFNSX(X)=56+32*X-256*FNXX(X) 1190 HZ=1:AC=0:CS=24:BT(8)=1:GOSUB4030 1200 FORX=1TO4:A(X)=0:NEXT:FORX=1TO7:TP(X)=X:BT(X)=X:NEXT 1210 CD=0:FORX=1TO7:FORY=1TOX:CD=CD+1:CD(X,Y)=DK(CD):NEXT:NEXT 1220 FORX=1TO24:CD=CD+1:CD(0,X)=DK(CD):NEXT 1230 PRINT""; 1240 FORY=1TO7:PRINT"";:FORX=1TO7:IFY0))ANDHZ=-1THENHZ=0 1310 IFHZ<1THEN1460 1320 IFBT(HZ)=0THENHZ=HZ+1+9*(HZ>6):GOTO1300 1330 IFHZ<1THEN1460 1340 POKE53269,0:POKE53264,FNXX(HZ):POKE53248,FNSX(HZ):POKE53249,FNSY(BT(HZ)) 1350 POKE53269,1:GOSUB4160 1360 IFA$=CHR$(13)THEN1670 1370 IFA$<>"[145]"ANDA$<>""THEN1400 1380 IFCD(0,BT(0))<>0AND(HZ<>0ORCS=1)THENHZ=0:GOTO1460 1390 IF(CS>1OR(CS=1ANDCD(0,BT(0))=0))THENHZ=-1:GOTO1460 1400 IFA$<>"[157]"THEN1480 1410 HZ=HZ-1:IFHZ<>0ANDHZ<>-1THEN1470 1420 IFHZ=0ANDCD(0,BT(0))=0THENHZ=-1 1430 IFHZ=-1AND(CS=0OR(CS=1ANDCD(0,BT(0))<>0))THENHZ=8:GOTO1410 1440 IFHZ<1THEN1460 1450 IFBT(HZ)=0THEN1410 1460 POKE53269,0:POKE53264,0:POKE53248,80+24*HZ:POKE53249,212:GOTO1350 1470 HZ=HZ-9*(HZ=-2):IFBT(HZ)=0THEN1410 1480 IFA$<>""THEN1550 1490 IFHZ=7THENHZ=-2 1500 HZ=HZ+1:IFHZ>0THEN1540 1510 IFHZ=-1AND(CS=0OR(CS=1ANDCD(0,BT(0))<>0))THENHZ=0 1520 IFHZ=0ANDCD(0,BT(0))=0THENHZ=1:GOTO1300 1530 GOTO1460 1540 IFBT(HZ)=0THEN1490 1550 IFA$="Q"THEN1570 1560 GOTO1340 1570 PRINT"[144]QUIT? (Y/N)" 1580 GETA$:IFA$<>"Y"ANDA$<>"N"THEN1580 1590 PRINT"[144] ":IFA$="N"THEN1290 1600 PRINT""; 1610 FORY=1TO7:PRINT"";:FORX=1TO7 1620 M=CD(X,Y):IFY-1THEN1740 1680 PL=PL+1:IFPL>23THENCS=1:PRINT"[144] [157][157] " 1690 IFCD(0,PL)=0ANDCS>0ANDPL<24THEN1680 1700 BT(0)=PL:TP(0)=PL 1710 POKE214,18:PRINT:PRINT"";:M=CD(0,PL):GOSUB4060 1720 IFCS=1THENPRINT"[145][144] [157][157] " 1730 GOTO1290 1740 FM=HZ:IFFM<>0THEN1760 1750 POKE214,18:PRINT:PRINT"";:M=CD(0,PL):GOSUB4090:GOTO1800 1760 PRINT"";:FORX=1TOFM:PRINT"";:NEXT:FORY=1TOTP(FM) 1770 PRINT"";:NEXT:IFTP(FM)=BT(FM)THEN1790 1780 FORX=TP(FM)TOBT(FM)-1:M=CD(FM,X):GOSUB4080:PRINT"[157][157]";:NEXT 1790 M=CD(FM,BT(FM)):GOSUB4090 1800 PRINT"[144] TO ?":IFHZ<1THENHZ=1 1810 IFBT(HZ)=0THENHZ=HZ+1+8*(HZ>7):GOTO1810 1820 IFHZ=8THEN1920 1830 POKE53269,0:POKE53264,FNXX(HZ):POKE53248,FNSX(HZ):POKE53249,FNSY(BT(HZ)) 1840 POKE53269,1:GOSUB4160 1850 IFA$=CHR$(13)THEN2000 1860 IFA$="[145]"ORA$=""THENHZ=8:GOTO1920 1870 IFA$<>"[157]"THEN1940 1880 HZ=HZ-1-8*(HZ=1):IFHZ<>8THEN1900 1890 GOTO1920 1900 IFBT(HZ)=0ANDFNRK(CD(FM,TP(FM)))<>13THEN1880 1910 GOTO1980 1920 POKE53269,0:POKE53264,0:POKE53248,104+32*FNSU(CD(FM,BT(FM))) 1930 POKE53249,84:GOTO1840 1940 IFA$<>""THEN1980 1950 HZ=HZ+1+8*(HZ=8):IFHZ<>8THEN1970 1960 GOTO1920 1970 IFBT(HZ)=0ANDFNRK(CD(FM,TP(FM)))<>13THEN1950 1980 IFA$="Q"THEN1570 1990 GOTO1830 2000 TU=HZ:IFTU<>8THEN2120 2010 IFFNRK(A(FNSU(CD(FM,BT(FM))))+1)<>FNRK(CD(FM,BT(FM)))THEN2350 2020 PRINT"";:FORX=1TOFNSU(CD(FM,BT(FM))):PRINT"";:NEXT 2030 M=CD(FM,BT(FM)):GOSUB4060 2040 AC=AC+1:PRINT"[157][157][157][157][144]"(AC*5) 2050 A(FNSU(CD(FM,BT(FM))))=CD(FM,BT(FM)) 2060 CD(FM,BT(FM))=0 2070 IFFM=0THEN2160 2080 PRINT"";:FORX=1TOFM:PRINT"";:NEXT:FORY=1TOBT(FM) 2090 PRINT"";:NEXT:PRINT"[144] [157][157] ";:BT(FM)=BT(FM)-1 2100 IFBT(FM)FNRK(CD(TU,BT(TU)))THEN2350 2140 IFABS(2.5-FNSU(CD(FM,TP(FM))))=ABS(2.5-FNSU(CD(TU,BT(TU))))THEN2350 2150 IFFM>0THEN2250 2160 BT(TU)=BT(TU)+1:CD(TU,BT(TU))=CD(0,PL):CD(0,PL)=0:CS=CS-1 2170 PL=PL-1:IFPL<0THENPL=0 2180 IFCD(0,PL)=0ANDPL>0THEN2170 2181 IFCD(0,PL)>0ANDCS=0THENCS=1 2190 BT(0)=PL:TP(0)=PL 2200 POKE214,18:PRINT:PRINT"";:M=CD(0,PL) 2210 IFM>0THENGOSUB4060:GOTO2230 2220 PRINT"[144] [157][157] " 2230 IFCS=1ANDCD(0,BT(0))>0THENPRINT"[145][144] [157][157] " 2240 GOTO2290 2250 PRINT"";:FORX=1TOFM:PRINT"";:NEXT:FORY=1TOTP(FM) 2260 PRINT"";:NEXT:FORX=TP(FM)TOBT(FM):PRINT"[144] [157][157]";:BT(TU)=BT(TU)+1 2270 CD(TU,BT(TU))=CD(FM,X):CD(FM,X)=0:NEXT:PRINT"[144] ";:IFTP(TU)=0THENTP(TU)=1 2280 TP(FM)=TP(FM)-1:BT(FM)=TP(FM):IFTP(FM)<0THENTP(FM)=0:BT(FM)=0 2290 IFTU=8THEN2350 2300 IFTP(TU)=0THENTP(TU)=1 2310 PRINT"";:FORX=1TOTU:PRINT"";:NEXT:FORY=1TOTP(TU) 2320 PRINT"";:NEXT:IFTP(TU)=BT(TU)THEN2340 2330 FORX=TP(TU)TOBT(TU)-1:M=CD(TU,X):GOSUB4050:PRINT"[157][157]";:NEXT 2340 M=CD(TU,BT(TU)):GOSUB4060 2350 IFFM<>0THEN2370 2360 POKE214,18:PRINT:PRINT"";:M=CD(0,PL):GOSUB4060:GOTO2410 2370 PRINT"";:FORX=1TOFM:PRINT"";:NEXT:FORY=1TOTP(FM) 2380 PRINT"";:NEXT:IFTP(FM)=BT(FM)THEN2400 2390 FORX=TP(FM)TOBT(FM)-1:M=CD(FM,X):GOSUB4050:PRINT"[157][157]";:NEXT 2400 M=CD(FM,BT(FM)):GOSUB4060 2410 IFAC<52THEN1290 2420 POKE214,22:PRINT:PRINT"[144]CONGRATULATIONS! YOU WIN!!!" 2430 PRINT"[145][145]":GOSUB4130:RUN 2440 REM KLONDIKE INSTRUCTIONS 2450 PRINT"[147][156]KLONDIKE INSTRUCTIONS" 2460 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 2470 PRINT"[154] THE OBJECT IS TO MOVE THE ENTIRE" 2480 PRINT" DECK TO THE ACE ROW IN SUIT. ON THE" 2490 PRINT" TABLEAU, CARDS ARE BUILT IN DESCENDING" 2500 PRINT" ORDER IN ALTERNATING COLOURS." 2510 PRINT" THE TOP CARD OF THE PILE IS ALWAYS" 2520 PRINT" AVAILABLE FOR PLAY. IF MOVING A ROW" 2530 PRINT" OF CARDS, ALL OF THE FACE-UP CARDS ARE" 2540 PRINT" MOVED AT THE SAME TIME, UNLESS YOU ARE" 2550 PRINT" BUILDING TO THE ACES. A SPACE MADE BY" 2560 PRINT" CLEARING AWAY AN ENTIRE PILE MAY ONLY" 2570 PRINT" BE FILLED WITH A KING." 2571 PRINT" YOU CAN ONLY GO THROUGH THE DECK" 2572 PRINT" ONCE, AND ONLY ONE CARD IS DEALT AT" 2573 PRINT" A TIME." 2580 GOSUB4120:RETURN 2590 REM GOLF 2600 GOSUB4240:POKE53264,0:GM=3:PRINT""TAB(16)"[144]G O L F" 2610 DEFFNSY(Y)=108+8*Y-54*(HZ=0) 2620 DEFFNSX(X)=80+24*X-160*(HZ=0) 2630 LN(0)=1:HZ=0:TC=35:GOSUB4030 2640 CD=52:FORX=1TO7:LN(X)=5:FORY=1TO5:CD(X,Y)=DK(CD):CD=CD-1:NEXT:NEXT 2650 PRINT"":FORY=1TO5:PRINT"";:FORX=1TO7:PRINT""; 2660 M=CD(X,Y):GOSUB4060:NEXT:PRINT:NEXT 2670 IFCD=0THEN2960 2680 PRINT""TAB(26)"";:IFCD>1THENPRINTBK$;:GOTO2700 2690 LN(0)=0:PRINT"[144] [157][157] [145]"; 2700 PRINTTAB(29);:M=DK(CD):GOSUB4060 2710 PRINT"[144]FROM?" 2720 IFLN(HZ)=0THENHZ=HZ+1+8*(HZ=7):GOTO2720 2730 POKE53269,0:POKE53248,FNSX(HZ):POKE53249,FNSY(LN(HZ)):POKE53269,1 2740 GOSUB4160 2750 IFA$=CHR$(13)THEN2870 2760 IFA$="Q"THEN2830 2770 IF(A$="[145]"ORA$="")ANDCD>1THENHZ=0:GOTO2720 2780 IFA$<>""THEN2800 2790 HZ=HZ+1+8*(HZ=7):IFLN(HZ)=0THEN2790 2800 IFA$<>"[157]"THEN2720 2810 HZ=HZ-1-8*(HZ=0):IFLN(HZ)=0THEN2810 2820 GOTO2720 2830 PRINT"[144]QUIT? (Y/N)" 2840 GETA$:IFA$<>"Y"ANDA$<>"N"THEN2840 2850 IFA$="N"THENPRINT"[144] ":GOTO2710 2851 IFTC<5THENPOKE214,18:PRINT:PRINTTAB(13)"[144]YOU MADE PAR!" 2860 GOTO2960 2870 IFHZ=0THENCD=CD-1:GOTO2670 2880 FM=HZ 2890 IFABS(FNRK(DK(CD))-FNRK(CD(FM,LN(FM))))<>1THEN2670 2900 IFLN(FM)=0ORFNRK(DK(CD))=13THEN2670 2910 DK(CD)=CD(FM,LN(FM)) 2920 PRINT"";:FORX=1TOFM:PRINT"";:NEXT:FORX=1TOLN(FM) 2930 PRINT"";:NEXT:LN(FM)=LN(FM)-1:TC=TC-1 2940 M=CD(FM,LN(FM)):GOSUB4060:PRINT"[157][157][144] ":IFTC=0THEN2970 2950 GOTO2670 2960 POKE214,18:PRINT:GOTO2980 2970 POKE214,18:PRINT:PRINT"[144] CONGRATULATIONS! YOU WON!!!" 2980 GOSUB4130:RUN 2990 REM GOLF INSTRUCTIONS 3000 PRINT"[147][156]GOLF INSTRUCTIONS" 3010 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 3020 PRINT"[154] THE OBJECT IS TO CLEAR THE LAYOUT," 3030 PRINT" PUTTING ALL OF THE CARDS INTO THE" 3040 PRINT" DISCARD PILE. ANY CARD MAY BE PLACED" 3050 PRINT"[160]ON THE DISCARD PILE AS LONG AS THE" 3060 PRINT" RANK ONLY DIFFERS BY ONE, REGARDLESS" 3070 PRINT" OF THE SUIT. HOWEVER, NO CARD MAY BE" 3080 PRINT" PLACED ON A KING." 3090 PRINT" SINCE THIS GAME IS VERY DIFFICULT TO" 3100 PRINT" WIN, PAR IS FOUR CARDS LEFT ON THE" 3110 PRINT" TABLEAU." 3120 GOSUB4120:RETURN 3130 REM GAPS 3140 GOSUB4240:GM=4:PRINT""TAB(16)"[144]G A P S" 3150 DEFFNSY(Y)=68+24*Y 3160 DEFFNXX(X)=-(X>9) 3170 DEFFNSX(X)=16+24*X-256*FNXX(X) 3180 DL=1:GOSUB4030 3190 CD=1:FORY=1TO4:FORX=1TO13:CD(X,Y)=DK(CD) 3200 PL(DK(CD))=13*(Y-1)+X:CD=CD+1:NEXT:NEXT 3210 A=1:FORY=1TO4:FORX=1TO13 3220 IFFNRK(CD(X,Y))=1THENPRINT"[144] [157][157] [145]";:BK(A)=13*(Y-1)+X:A=A+1:GOTO3240 3230 PRINT"";:M=CD(X,Y):GOSUB4060 3240 NEXT:PRINT"":NEXT 3250 PRINT:B=0:FORX=1TO4 3260 IFFNRK(BK(X))=1THEN3330 3270 IF(FNSU(BK(X))<>FNSU(BK(X-1)))OR(FNRK(BK(X))-1<>FNRK(BK(X-1)))THEN3290 3280 B=B+1:GOTO3330 3290 IFFNRK(CD(FNRK(BK(X))-1,FNSU(BK(X))))<>13THEN3310 3300 B=B+1:GOTO3330 3310 M=CD(FNRK(BK(X))-1,FNSU(BK(X)))+1 3320 CF(X)=PL(CD(FNRK(BK(X))-1,FNSU(BK(X)))+1) 3330 NEXT:IFB<4THEN3470 3333 IFDL=3THEN3860 3340 PRINT"[144]HIT ANY KEY":GOSUB4140 3350 PRINT"[144] " 3351 PRINT"" 3360 T=0:CD=1:FORY=1TO4:CK=2:SU=FNSU(CD(1,Y)):Z=1:PRINT""; 3370 IFFNRK(CD(Z,Y))<>CKORFNSU(CD(Z,Y))<>SUTHEN3390 3380 PRINT"";:Z=Z+1:CK=CK+1:GOTO3370 3390 FORX=ZTO13:IFFNRK(CD(X,Y))>1THENUN(CD)=CD(X,Y):CD=CD+1 3391 PRINT"[144] [157][157] [145]";:NEXT:PRINT 3400 LN(Y)=Z-1:T=T+LN(Y):NEXT:IFT>47THEN3880 3410 DL=DL+1 3420 FORX=CD-1TO2STEP-1:RN=INT(RND(0)*X+1):DM=UN(RN):UN(RN)=UN(X):UN(X)=DM:NEXT 3430 DC=1:CD=1:FORY=1TO4:IFLN(Y)=0THENDK(CD)=1:CD=CD+1:GOTO3450 3440 FORX=1TOLN(Y):DK(CD)=CD(X,Y):CD=CD+1:NEXT:DK(CD)=1:CD=CD+1 3450 IFLN(Y)<12THENFORX=LN(Y)+2TO13:DK(CD)=UN(DC):CD=CD+1:DC=DC+1:NEXT 3460 NEXT:PRINT"":GOTO3190 3470 PRINT"[144]WHICH? ":HZ=1 3480 FM=CF(HZ):TU=BK(HZ):IFFNRK(CD(FNRK(TU)-1,FNSU(TU)))=1THENHZ=HZ+1:GOTO3480 3490 IFFNRK(CD(FNRK(TU)-1,FNSU(TU)))=13THENHZ=HZ+1:GOTO3480 3500 IFFNRK(TU)<>1THEN3530 3510 POKE53269,0:POKE53248,40:POKE53249,FNSY(FNSU(TU)) 3520 POKE53264,0:POKE53269,1:GOTO3550 3530 POKE53269,0:POKE53248,FNSX(FNRK(FM)):POKE53249,FNSY(FNSU(FM)) 3540 POKE53264,FNXX(FNRK(FM)):POKE53269,1 3550 GOSUB4160:IFA$=CHR$(13)THEN3620 3560 IFA$="Q"THEN3830 3570 IFA$=""ORA$=""THENHZ=HZ+1+4*(HZ=4) 3580 IFA$="[157]"ORA$="[145]"THENHZ=HZ-1-4*(HZ=1) 3590 FM=CF(HZ):TU=BK(HZ):IFFNRK(CD(FNRK(TU)-1,FNSU(TU)))=1THEN3570 3600 IFFNRK(CD(FNRK(TU)-1,FNSU(TU)))=13THEN3570 3610 GOTO3500 3620 IFFNRK(TU)>1THENBK(HZ)=CF(HZ):GOTO3730 3640 PRINT"[144]WHICH TWO?":HT=0 3650 FM=PL(HT*13+2):POKE53269,0:POKE53248,FNSX(FNRK(FM)) 3660 POKE53249,FNSY(FNSU(FM)):POKE53264,FNXX(FNRK(FM)):POKE53269,1 3670 GOSUB4160:IFA$=CHR$(13)THEN3720 3680 IFA$="Q"THEN3830 3690 IFA$=""ORA$=""THENHT=HT+1+4*(HT=3) 3700 IFA$="[157]"ORA$="[145]"THENHT=HT-1-4*(HT=0) 3710 GOTO3650 3720 BK(HZ)=FM 3730 PL(CD(FNRK(FM),FNSU(FM)))=TU 3740 DM=CD(FNRK(FM),FNSU(FM)):CD(FNRK(FM),FNSU(FM))=CD(FNRK(TU),FNSU(TU)) 3750 CD(FNRK(TU),FNSU(TU))=DM 3760 PRINT"[157][157]";:FORX=1TOFNRK(FM):PRINT"";:NEXT 3770 FORX=1TOFNSU(FM):PRINT"";:NEXT:PRINT"[144] [157][157] " 3780 PRINT"[157][157]";:FORX=1TOFNRK(TU):PRINT"";:NEXT 3790 FORX=1TOFNSU(TU):PRINT"";:NEXT 3800 M=CD(FNRK(TU),FNSU(TU)):GOSUB4060 3810 FORX=1TO3:FORY=X+1TO4:IFBK(X)>BK(Y)THENDM=BK(X):BK(X)=BK(Y):BK(Y)=DM 3820 NEXT:NEXT:PRINT"":GOTO3250 3830 PRINT"[144]QUIT? (Y/N)" 3840 GETA$:IFA$<>"Y"ANDA$<>"N"THEN3840 3850 IFA$="N"THENPRINT"[144] ":GOTO3470 3860 POKE214,18:PRINT:GOTO3890 3870 FM=ASC(A$)-65 3880 POKE214,18:PRINT:PRINT"[144] CONGRATULATIONS! YOU WON!!!" 3890 PRINT"[145][145]":GOSUB4130:RUN 3900 REM GAPS INSTRUCTIONS 3910 PRINT"[147][156]GAPS INSTRUCTIONS" 3920 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 3930 PRINT"[154] THE OBJECT IS TO BUILD ALL OF THE" 3940 PRINT" CARDS IN SEQUENCE FROM 2 THROUGH KING" 3950 PRINT" IN SUIT. A GAP MAY ONLY BE FILLED BY" 3960 PRINT"[160]THE CARD FOLLOWING IN SUIT OF THE CARD" 3970 PRINT" CARD IMMEDIATELY BEFORE THE GAP. ANY" 3980 PRINT" TWO MAY BE PLACED TO FILL A GAP AT THE" 3990 PRINT" START OF A ROW. TWO REDEALS OF ALL" 4000 PRINT" CARDS NOT IN THE CORRECT SEQUENCE ARE" 4010 PRINT" ALLOWED." 4020 GOSUB4120:RETURN 4030 FORX=52TO2STEP-1:RN=INT(RND(0)*X+1):CD=DK(X):DK(X)=DK(RN):DK(RN)=CD:NEXT 4040 RETURN 4050 PRINTCL$(FNSU(M));:GOSUB4110:RETURN 4060 PRINTCL$(FNSU(M));:GOSUB4110:IFM>0THENPRINT"[157][157][146] [145]";:RETURN 4070 PRINT"[157][157][144] [145]";:RETURN 4080 PRINTDN$(FNSU(M));:GOSUB4110:RETURN 4090 PRINTDN$(FNSU(M));:GOSUB4110:IFM>0THENPRINT"[157][157][146] [145]";:RETURN 4100 PRINT"[157][157][144] [145]";:RETURN 4110 PRINT""RK$(FNRK(M))SU$(FNSU(M));:RETURN 4120 PRINT" MOVE THE POINTER WITH EITHER THE" 4121 PRINT" CURSOR KEYS OR A JOYSTICK IN PORT 2." 4129 PRINT"[159]PRESS ANY KEY TO CONTINUE";:GOTO4140 4130 PRINT"[144]PRESS ANY KEY TO CONTINUE"; 4140 JS=PEEK(56320)AND31:GETA$:IFA$=""ANDJS=31THEN4140 4150 RETURN 4160 GOSUB4140 4170 IFJS=30THENA$="[145]" 4180 IFJS=23THENA$="" 4190 IFJS=29THENA$="" 4200 IFJS=27THENA$="[157]" 4210 IFJS=15THENA$=CHR$(13):WAIT56320,16,239 4220 IFA$<>"[145]"ANDA$<>""ANDA$<>""ANDA$<>"[157]"ANDA$<>CHR$(13)ANDA$<>"Q"THEN4160 4230 RETURN 4240 PRINT"[144][147]";:FORX=1TO24:PRINT" " 4250 POKE49151+40*X,160:POKE55295+40*X,0:NEXT 4260 PRINT" " 4270 POKE50151,160:POKE56295,0:POKE53281,1:RETURN 10000 OPEN15,8,15,"S0:SUPREME":CLOSE15:SAVE"SUPREME",8:END