10 PRINTCHR$(8) CHR$(142)CHR$(147) 100 REM ***DIMENSIONS AND* 110 REM ***PRELIMINARY INITIALIZATION*** 120 DIMPF%(4,5),SC$(2),SS$(2),CD$(9),PN$(6),SC(6),CS(6),DK%(20),M1$(4) 125 DIM L$(13),RL(13),CL(13), N(13) 130 PR=49156:PD=PR-2:P2=PR-4:FORI=0TO12:READQ:POKEP2+I,Q:NEXTI:RO=251:CO=252 140 DATA230,251,230,251,166,251,164,252,24,32,240,255,96 150 BO=53280:BA=BO+1:PT=646:CS$=CHR$(147):BS$=CHR$(32):RV$=CHR$(18) 160 OF$=CHR$(146):X=RND(-TI) 170 LG$=CHR$(153):LR$=CHR$(150):LB$=CHR$(154):WH$=CHR$(5) 180 AK$="ANY KEY TO CONTINUE" 190 BL$="":FORI=1TO40:BL$=BL$+BS$:NEXTI 200 EM$=LEFT$(BL$,13):EC$=LEFT$(BL$,5) 205 PRINT"[147]": POKE53280,5: POKE53281,13 210 GOTO 3600: REM *** SCREEN INIT *** 220 REM ***SUBROUTINES*** 230 REM ***MOVE CURSOR*** 240 POKERO,R:POKECO,C:SYSPR:RETURN 250 REM ***TIMING LOOP*** 260 TX=DD:IFTM<>0THENTX=TM 270 TX=TI+TX*30 280 IFTX>TITHEN280 290 TM=0:RETURN 300 REM ***GET ANY KEY*** 310 GETZ$:IFZ$=""THEN310 315 IF Z$=CHR$(140)THEN 2000 320 RETURN 330 REM ***RING BELL*** 340 POKESD+4,21:TM=.75:GOSUB260:POKESD+4,0:RETURN 350 REM ***PRINT SCREEN BACKGROUND*** 360 PRINTCS$:R=1:C=2:GOSUB240:PRINTOG$OF$"ROUND";RN;TAB(12)"GAME";GN 370 PRINTOG$:R=0:C=26:GOSUB240:PRINTVL$;:FORI=1TO24:SYSPD:PRINTVL$;:NEXTI 380 R=2:C=0:GOSUB240:PRINTMM$;:FORI=1TO25:PRINTMM$;:NEXTI:PRINTLJ$ 390 R=8:C=26:GOSUB240:PRINTRJ$;:FORI=1TO13:PRINTMM$;:NEXTI 400 R=3:C=3:GOSUB240:PRINTBU$"1"RP$"2"RP$"3"RP$"4"RP$"5" 410 R=6:C=0:GOSUB240:PRINT"A"DP$"B"DP$"C"DP$"D" 420 R=0:C=27:GOSUB240:PRINTBK$RV$"NAME SCORE"OF$ 430 R=10:C=29:GOSUB240:PRINTOG$OF$"MESSAGES":RETURN 440 REM ***PRINT SCORES*** 450 R=1:C=27:GOSUB240:FORI=1TONP:SYSPD:PRINTBK$PN$(I);:EX=0 460 IFI=PTHENPRINTRD$AW$BK$;:EX=2 470 X$=STR$(SC(I)):PRINTSPC(12-LEN(X$)-LEN(PN$(I))-EX)X$ 480 NEXTI:RETURN 490 REM ***SHUFFLE DECK & DEAL*** 500 R=7:C=9:GOSUB240:PRINTBU$"SHUFFLING" 510 FORI=1TO20:DK%(I)=I+9:NEXTI:N=20 520 FORI=1TO4:FORJ=1TO5:X=INT(RND(1)*N)+1:PF%(I,J)=DK%(X) 530 IFX=NTHENDK%(N)=0:N=N-1:GOTO550 540 FORK=XTON-1:DK%(K)=DK%(K+1):NEXTK:DK%(N)=0:N=N-1 550 NEXTJ,I:RETURN 560 REM ***PRINT BLANK CARDS*** 570 FORI=1TO4:FORJ=1TO5:R=RL(I):C=CL(J):GOSUB240:PRINTBC$;:NEXTJ,I 580 RETURN 590 REM ***GET AND CHECK ROW LETTER*** 600 GETZ$:Z$=Z$+CHR$(0):RW=ASC(Z$) 602 IF RW=140 THEN 2000 605 IFRW<65ORRW>68THEN600 610 RW=RW-64:R=17:C=33:GOSUB240:PRINTZ$;:RETURN 620 REM ***GET & CHECK COLUMN NUMBER*** 630 GETZ$:Z$=Z$+CHR$(0):CM=ASC(Z$) 632 IF RW=140 THEN 2000 635 IFCM<49ORCM>53THEN630 640 CM=CM-48:R=21:C=33:GOSUB240:PRINTZ$;:RETURN 650 REM ***ERASE MESSAGE AREA*** 660 R=11:C=27:GOSUB240:FORI=1TO12:SYSPD:PRINTEM$;:NEXTI:RETURN 670 REM ***DECODE CARD AND PREPARE*** 680 REM ***CARD STRING FOR PRINTING*** 690 SU%=PF%(RW,CM)/10:DE%=PF%(RW,CM)-10*SU% 700 IFDE%=0THENCD$=JR$:RETURN 710 CD$=C1$+SC$(SU%)+DE$(DE%)+C2$+SC$(SU%)+SS$(SU%)+C3$+SC$(SU%)+DE$(DE%)+C4$ 720 RETURN 730 REM ***ERASE SCORE AREA*** 740 R=1:C=27:GOSUB240:FORI=1TO6:SYSPD:PRINTEM$;:NEXTI:RETURN 750 REM ***ERASE CARD*** 760 GOSUB240:PRINTEC$:FORI=1TO4:SYSPD:PRINTEC$;:NEXTI:RETURN 770 REM ***PLAY GAME*** 780 REM ***ENTRY POINT FOR 1ST GAME*** 790 SP=1:RN=1:GN=1 800 REM ***ENTRY POINT-OTHER GAMES*** 810 P=SP:GOSUB360:GOSUB450:GOSUB500:GOSUB570:GOTO850 820 REM ***ENTRY POINT DURING GAME*** 830 POKEBO,5:POKEBA,13:GOSUB660:GOSUB740:GOSUB450 840 REM **ENTRY & RECORDING-1ST CARD** 850 R=12:C=28:GOSUB240:PRINTBU$M1$(1); 852 R=13:C=28:GOSUB240:PRINTBU$"FIRST CARD" 855 R=15:C=28:GOSUB240:PRINTBU$M1$(2); 857 R=17:C=33:GOSUB240:PRINTBU$"?"; 860 R=19:C=27:GOSUB240:PRINTBU$M1$(3); 862 R=21:C=33:GOSUB240:PRINTBU$"?"; 865 R=24:C=28:GOSUB240:PRINTBU$M1$(4); 870 GOSUB600 880 GOSUB630:GOSUB660:R1=RW:C1=CM 890 REM ***CHECK IF CARD AVAILABLE*** 900 IFPF%(RW,CM)<>0THEN950 910 R=12:C=27:GOSUB240:PRINTRD$"CARD HAS":SYSP2:PRINT"BEEN USED":SYSP2 920 PRINT"TRY AGAIN" 930 TM=4:GOSUB260:GOSUB660:GOTO850 940 REM ***DECODE & PRINT CARD*** 950 GOSUB690:D1=DE%:R=RL(RW):C=CL(CM):GOSUB240:PRINTCD$ 960 REM***GET & RECORD 2ND CARD*** 970 R=12:C=28:GOSUB240:PRINTBU$M1$(1); 972 R=13:C=28:GOSUB240:PRINTBU$"SECOND CARD" 975 R=15:C=28:GOSUB240:PRINTBU$M1$(2); 977 R=17:C=33:GOSUB240:PRINTBU$"?"; 980 R=19:C=27:GOSUB240:PRINTBU$M1$(3); 982 R=21:C=33:GOSUB240:PRINTBU$"?"; 985 R=24:C=28:GOSUB240:PRINTBU$M1$(4); 990 GOSUB600 1000 GOSUB630:GOSUB660:R2=RW:C2=CM 1010 REM ***CHECK IF CARD AVAILABLE*** 1020 IFPF%(RW,CM)=0THEN1040 1030 IFR1<>R2ORC1<>C2THEN1080 1040 R=12:C=27:GOSUB240:PRINTRD$"CARD HAS":SYSP2:PRINT"BEEN USED":SYSP2 1050 PRINT"TRY AGAIN" 1060 TM=4:GOSUB260:GOSUB 660:GOTO970 1070 REM ***DECODE & PRINT CARD*** 1080 GOSUB690:D2=DE%:R=RL(RW):C=CL(CM):GOSUB240:PRINTCD$ 1090 REM ***CHECK FOR MATCH*** 1100 IFD1=0ORD2=0ORD1=D2THEN1210 1110 REM ***NO MATCH-REPRINT BLANK*** 1120 REM ***CARDS AFTER TIME LOOP*** 1130 REM ***GO TO NEXT PLAYER*** 1140 GOSUB260:R=RL(R1):C=CL(C1):GOSUB240:PRINTBC$:R=RL(R2):C=CL(C2):GOSUB240 1150 PRINTBC$ 1160 P=FNP(P):R=12:C=27:GOSUB240:PRINTRD$"NO MATCH":SYSP2:PRINT"NEXT PLAYER 1170 TM[178]4:[141]260:[137]830 1180 [143] ***CARDS MATCH-UPDATE SCORE*** 1190 [143] ***ERASE MATCHED CARDS*** 1200 [143] ***CHECK FOR END OF GAME*** 1210 [139]D1[178]0[175]D2[178]0[167][129]I[178]1[164]4:[141]340:[130]I:SC(P)[178]SC(P)[170]4 1220 [141]340:PF%(R1,C1)[178]0:PF%(R2,C2)[178]0:NM[178]NM[170]1:SC(P)[178]SC(P)[170]1 1230 R[178]12:C[178]27:[141]240:[153]RD$"MATCH-!!!":[158]P2 1240 [153]"YOU SCORE" 1250 [139]NM[179]9[167][158]P2:[153]"PLAY AGAIN":[137]1270 1260 [158]P2:[153]BN$"END OF":[158]P2:[153]"THIS GAME" 1270 TM[178]4:[141]260:[139]NM[178]9[167]1320 1280 R[178]RL(R1):C[178]CL(C1):[141]760:R[178]RL(R2):C[178]CL(C2):[141]760:[141]450 1290 [137]830 1300 [143] ***PRINT GAME & CUMULATIVE*** 1310 [143] ***SCORES*** 1320 [153]CS$:[151]BO,0:[151]BA,0:R[178]3:C[178]11:[141]240:[153]LR$RV$"ROUND"OF$;RN; 1330 [153][163]23)RV$"GAME"OF$;GN 1340 R[178]6:C[178]20:[141]240:[153]LG$"THIS TOTAL" 1350 R[178]7:C[178]8:[141]240:[153]"PLAYER HAND SCORE" 1360 [158]PD:[153]LB$;:[129]I[178]1[164]24:[153]BM$;:[130]I:[153]YW$ 1370 [129]I[178]1[164]NP:CS(I)[178]CS(I)[170]SC(I):[130]I 1380 [129]I[178]1[164]NP:[158]PD:[153]PN$(I);:L[178][195]([196](SC(I))):[153][163]24[171]L)[196](SC(I)); 1390 L[178][195]([196](CS(I))):[153][163]32[171]L)[196](CS(I)):[130]I 1400 [143] ***UPDATE STARTING PLAYER,*** 1410 [143] ***ROUND & GAME NUMBERS*** 1420 SP[178][165]P(SP):[139]SP[178]1[167]RN[178]RN[170]1:GN[178]0 1430 GN[178]GN[170]1 1440 [143] ***ANOTHER GAME OR ROUND?*** 1450 R[178]17:C[178]8:[141]240:[153]WH$"ANOTHER "; 1460 [139]SP[178]1[167][153]"ROUND? (Y/N)":[137]1480 1470 [153]"GAME? (Y/N)" 1480 [161]Z$:[139]Z$[178]""[176](Z$[179][177]"Y"[175]Z$[179][177]"N")[167]1480 1490 [139]Z$[178]"N"[167][151]BO,5:[151]BA,13:[151]PT,1:[137]2000 1500 [129]I[178]1[164]6:SC(I)[178]0:[130]I:NM[178]0:[153]CS$:[151]BA,13:[151]BO,5:[137]810 1510 [143]***PRINT OPENING SCREEN*** 1520 [153]CS$:[151]BO,0:[151]BA,0:R[178]9:C[178]15:[141]240:[153]LG$"WELCOME TO" 1530 R[178]11:C[178]13:[141]240:[153]LR$RV$"CONCENTRATION"OF$ 1540 R[178]13:C[178]9:[141]240:[153]LB$"(C)1987 BY JIM SPEERS." 1545 R[178]15:C[178]1:[141]240:[153]LB$"PUBLISHED BY SOFTDISK PUBLISHING, INC." 1550 R[178]11:C[178]13:[141]240:[129]I[178]1[164]5:[158]PR:[153]LR$"CONCENTRATION":TM[178].5:[141]260 1560 [158]PR:[153]RV$"CONCENTRATION"OF$:TM[178].5:[141]260:[130]I 1570 R[178]17:C[178]10:[141]240:[153]WH$AK$:[141]310: 1580 [158]PR:[153]BL$:R[178]17:C[178]9:[141]240:[153]"ONE MOMENT, PLEASE...." 1590 [137]1620 1600 [143] ***INITIALIZE VARIABLES*** 1610 [143] *GRAPHIC & CONTROL CHARACTERS* 1620 RD$[178][199](28):SC$(1)[178]RD$:BK$[178][199](144):SC$(2)[178]BK$:BU$[178][199](31) 1630 BN$[178][199](149):OG$[178][199](129):GN$[178][199](30):LJ$[178][199](179):RJ$[178][199](171) 1640 TM$[178][199](164):LM$[178][199](167):RM$[178][199](165):BM$[178][199](163):CB$[178][199](166) 1650 CM$[178][199](191):EY$[178][199](119) 1660 NS$[178][199](113):MR$[178][199](106):MM$[178][199](96):ML$[178][199](107):SS$(1)[178][199](115) 1670 SS$(2)[178][199](97):AW$[178][199](95)[170]MM$ 1680 [143] ***CHARACTER SUB-STRINGS*** 1690 DN$[178][199](17):RT$[178][199](29):LF$[178][199](157):NL$[178]LF$[170]LF$[170]LF$[170]LF$[170]LF$[170]DN$ 1700 C1$[178]BU$[170]BS$[170]TM$[170]TM$[170]TM$[170]BS$[170]NL$[170]LM$:C2$[178]BU$[170]RM$[170]NL$[170]LM$:C3$[178]C2$ 1710 C4$[178]BU$[170]RM$[170]NL$[170]BS$[170]BM$[170]BM$[170]BM$ 1720 [143] *CHARACTER STRINGS FOR PRINT* 1730 BC$[178]C1$[170]CB$[170]CB$[170]CB$[170]C2$[170]CB$[170]CM$[170]CB$[170]C3$[170]CB$[170]CB$[170]CB$[170]C4$:VL$[178][199](125) 1740 DP$[178]LF$[170]DN$[170]DN$[170]DN$[170]DN$[170]DN$ 1750 JR$[178]C1$[170]BN$[170]EY$[170]BS$[170]EY$[170]C2$[170]OG$[170]BS$[170]NS$[170]BS$[170]C3$[170]RD$[170]MR$[170]MM$[170]ML$[170]C4$ 1760 RP$[178]RT$[170]RT$[170]RT$[170]RT$ 1770 C1$[178]C1$[170]BS$[170]BS$:C2$[178]C2$[170]BS$:C3$[178]BS$[170]C3$:C4$[178]BS$[170]BS$[170]C4$:YW$[178][199](158) 1775 [142] 1780 [143] ***INITIALIZE SOUND CHIP*** 1790 SD[178]54272:[129]I[178]0[164]24:[151]SD[170]I,0:[130]I 1800 [151]SD[170]1,120:[151]SD[170]5,57:[151]SD[170]6,9:[151]SD[170]15,80:[151]SD[170]24,143 1810 [143]**READ CARD & LOCATION DATA** 1820 [129]I[178]1[164]9:[135]DE$(I):[130]I 1840 [129]I[178]1[164]4:[135]RL(I):[130]I:[129]I[178]1[164]5:[135]CL(I):[130]I 1860 [143] ***CYCLIC VARIABLE FUNCTION*** 1870 [150][165]P(X)[178]X[171](X[179]NP)[170](NP[171]1)[172](X[178]NP) 1880 [143] ***MESSAGE VARIABLES*** 1890 M1$(1)[178]" SELECT":M1$(2)[178]"ROW LETTER":M1$(3)[178]"COLUMN NUMBER" 1895 M1$(4)[178]" F8 - EXIT": [142] 1900 [143] **GET PLAYER NUMBER & NAMES** 1910 [153]CS$[166]8)"HOW MANY PLAYERS? (2-6) "; 1920 [141]3200:NP[178][197](T$):[139]NP[179]2[176]NP[177]6[167]1910 1930 [153]"": [129]I[178]1[164]NP:[153]DN$: I1$[178][202]([196](I),2,1) 1940 [153][166]2)"PLAYER #";I1$;"'S NAME: "; 1950 [141]3000:PN$(I)[178]T$:[130]I 1960 [143] **CALCULATE DIFFICULTY LEVEL** 1970 [153]:[153]DN$DN$[166]2)"DIFFICULTY LEVEL (0-EASY TO 9-HARD)" 1975 [161] K$: [139] (K$[179]"0") [176] (K$[177]"9") [167] 1975 1980 DD[178][197](K$) 1990 DD[178]11[171]DD:[137]790 2000 [153]"LOAD":[158](8[172]4096)[170]4:[128] 3000 [143] INPUT NAME 3010 T$[178]"":CT[178]0 3020 [161] K$:[139]K$[178]""[167] 3020 3025 [139] [198](K$)[178]140 [167] 2000 3030 [139] K$[178][199](13) [167] 3110 3040 [139] K$[179][177][199](20) [167] 3080 3050 [139] CT[178]0 [167] 3020 3060 CT[178]CT[171]1:T$[178][200](T$,CT) 3070 [153]"CMD CMD";:[137] 3020 3080 [139] CT[177]6 [167] 3020 3090 [139](K$[179]"A") [176](K$[177]"Z") [167] 3020 3100 [153]K$;:CT[178]CT[170]1:T$[178]T$[170]K$:[137]3020 3110 [142] 3200 [143] INPUT NUMBER 3210 T$[178]"":CT[178]0 3220 [161] K$:[139]K$[178]""[167] 3220 3225 [139] [198](K$)[178]140 [167] 2000 3230 [139] K$[178][199](13) [167] 3310 3240 [139] K$[179][177][199](20) [167] 3280 3250 [139] CT[178]0 [167] 3220 3260 CT[178]CT[171]1:T$[178][200](T$,CT) 3270 [153]"CMD CMD";:[137] 3220 3280 [139] CT[177]0 [167] 3220 3290 [139](K$[179]"0") [176](K$[177]"9") [167] 3220 3300 [153]K$;:CT[178]CT[170]1:T$[178]T$[170]K$:[137]3220 3310 [142] 3400 [143] INSTRUCTIONS 3410 [153]"" 3415 [153][166]6)"WOULD YOU LIKE INSTRUCTIONS?": [153][166]15)"< Y / N >" 3420 [161]Z$:[139] Z$[178]""[167]3420 3430 [139]Z$[178]"Y" [167] 3450 3440 [139] Z$[179][177]"N" [167] 3420 3445 [142] 3450 [153]"LOAD INSTRUCTIONS" 3460 [153]" 20 CARDS WILL APPEAR ON THE" 3470 [153]" SCREEN. YOU WILL BE ASKED TO SELECT" 3480 [153]" TWO CARDS BY ENTERING THE ROW LETTER" 3490 [153]" AND THE COLUMN NUMBER. THE OBJECT IS" 3500 [153]" TO FIND TWO CARDS THAT MATCH. THE " 3510 [153]" SMILEY FACE CARDS ARE WILD CARDS AND" 3520 [153]" MATCH ANYTHING. IF YOU GET A MATCH" 3530 [153]" THEN YOU MAY GO AGAIN." 3540 [153]" IF AT ANY TIME YOU WISH TO QUIT" 3550 [153]" PRESS F8. YOU WILL RETURN TO UPTIME." 3560 [153]" PRESS ANY KEY TO CONTINUE."; 3570 [141] 300 3580 [142] 3600 [141] 1620: [143] *** GRAPHIC & CONTROL CHARS *** 3610 [129] I[178]0 [164] 13: [135] L$(I): [130] 3630 [129] I[178]0 [164] 13: [135] RL(I): [135] CL(I): [130] 3660 [129] I[178]0 [164] 13 3665 [151] RO,RL(I): [151] CO,CL(I): [158]PR 3670 [153]BC$ 3680 [130] 3690 [129] T[178]1[164]1000: [130] 3700 [129] X[178]0 [164] 13: N(X)[178][171]1: [130] 3710 X[178][171]1 3720 N[178][181]([187](1)[172]14) 3730 [139] N(N)[179][177][171]1 [167] 3720 3740 N(N)[178]N 3750 [151] RO,RL(N): [151] CO,CL(N): [158]PR 3760 [153]C1$[170]" "[170]C2$[170]"STOP"[170]L$(N)[170]""[170]C3$[170]" "[170]C4$ 3770 X[178]X[170]1: [139] X[179][177]13 [167] 3720 3780 [153]"" 3790 [153][166]8)"STOP(C)1987 BY JAMES SPEERS" 3800 [153]"STOP PUBLISHED BY SOFTDISK PUBLISHING, INC." 3810 [141] 1790: [143] *** FINISH INITIALIZATION *** 3820 [141] 3410: [143] *** INSTRUCTIONS *** 3830 [137] 1910 4000 [131] "C","O","N","C","E","N","-","T","R","A","T","I","O","N" 4010 [131]3,2,3,7,3,12,3,17,3,22,3,27,3,32 4020 [131]8,2,8,7,8,12,8,17,8,22,8,27,8,32 4030 [131] A,K,Q,J,9,8,7,6,5 4040 [131] 4,9,14,19,1,6,11,16,21