2 PRINTCHR$(147)"WOULD YOU LIKE INSTRUCTIONS (Y/N)? 4 [161] A$: [139] A$[179][177] "Y" [175] A$[179][177]"N" [167] 4 6 [139] A$[178]"N" [167] 36 8 [153]"INSTRUCTIONS ON SCREEN OR PRINTER (S/P)? 10 GET B$: IF B$<> "S" AND B$<>"P" THEN 10 12 IF B$="S"THEN D=3 14 IF B$="P" THEN D=4 16 OPEN D,D 20 PRINT#D,"TRI-SOLITAIRE 22 [152]D,"BY JIM AND DEBORAH CHAMBERS 24 PRINT#D,"RUN IT RIGHT: C-64 26 [152]D," 28 PRINT#D,"TRI-SOLITAIRE USES A REGULAR CARD DECK 30 [152]D,"WITH ALL THE FACE CARDS REMOVED. 16 OF 32 PRINT#D,"THE CARDS (REFERRED TO AS TABLE CARDS) 34 [152]D,"ARE DEALT FACE UP IN A FOUR-BY-FOUR 36 PRINT#D,"PATTERN. THE REMAINING CARDS MAKE UP 38 [152]D,"YOUR HAND. 40 PRINT#D," 44 [152]D,"THE OBJECT IS TO PLAY EACH CARD IN YOUR 46 PRINT#D,"HAND ON A TABLE CARD SO THAT THE TOTAL 48 [152]D,"OF THE OTHER THREE CARDS IN THAT ROW 50 PRINT#D,"OR COLUMN EQUALS THE VALUE OF YOUR CARD 52 [152]D,"OR ITS VALUE PLUS A MULTIPLE OF TEN. 54 PRINT#D,"FOR EXAMPLE, IF YOU PLAY A SEVEN, THE 56 [152]D,"TOTAL OF THE OTHER THREE CARDS IN THAT 58 PRINT#D,"ROW OR COLUMN MUST EQUAL SEVEN, 17 OR 60 [152]D,"27. YOU CAN'T PLAY YOUR CARD ON A 62 PRINT#D,"TABLE CARD OF THE SAME VALUE, AND ACES 63 [152]D,"ALWAYS COUNT AS ONE.":[139] D[178]4 [167] 67 65 [153]"PRESS A KEY TO CONTINUE" 66 [161] DD$:[139] DD$[178]"" [167] 66 67 [152]D," 68 PRINT#D,"TO PLAY A CARD, ENTER TWO CHARACTERS 70 [152]D,"CONSISTING OF A LETTER (A-D) AND A 72 PRINT#D,"NUMBER (1-4), SUCH AS B2, WHICH WOULD 74 [152]D,"BE THE LOCATION OF THE TABLE CARD YOU 76 PRINT#D,"WANT TO REPLACE. IF YOU MAKE A GOOD 78 [152]D,"PLAY, THE CARD YOU HOLD REPLACES THE 80 PRINT#D,"DESIGNATED TABLE CARD, AND YOUR SCORE, 82 [152]D,"DISPLAYED IN THE UPPER-RIGHT CORNER, IS 84 PRINT#D,"INCREASED BY ONE. 86 [152]D," 88 PRINT#D,"YOU CAN FLIP THROUGH YOUR HAND WITH THE 90 [152]D,"LEFT ARROW KEY. PLAY THE CARDS YOU HOLD 92 PRINT#D,"IN ANY ORDER. THE GAME IS OVER WHEN YOU 94 [152]D,"REACH A SCORE OF 24 OR EXCEED THE EIGHT 96 PRINT#D,"MINUTE TIME LIMIT. 98 [152]D,"":[160]D 100 [153]"PRESS ANY KEY TO RUN THE PROGRAM..." 102 [161] E$:[139] E$[178]"" [167] 102 104 [156] 200 [143] TRI-SOLITAIRE BY JIM & DEBORAH CHAMBERS 202 [151]56,56:[156]:CL$[178][199](147):[153]CL$:[151]53280,6:[151]53281,0 204 [153][163]12)[199](158)[199](18)" TRI-SOLITAIRE "[199](146):P[178]49152:Q[178]P[170]23 206 [134]P(4,4),CC(4,4),CS(3,40),D(13):X[178][187]([171]TI[173]37):DC[178]54272:LM[178]8 208 [151]53282,1:[151]53283,7:[129]I[178]1[164]5:[153]:[130]:[153][199](5)"RULES:":[153] 210 [153]"THIS GAME IS PLAYED WITH ONE REGULAR" 212 [153]"DECK WITH FACE CARDS REMOVED. SIXTEEN" 214 [153]"CARDS ARE DEALT ON THE TABLE. THE" 216 [153]"REMAINING CARDS ARE YOUR HAND. THE 218 PRINT"OBJECT IS TO PLAY EACH CARD IN YOUR" 220 PRINT"HAND ON A TABLE CARD SO THAT THE TOTAL" 222 PRINT"OF THE OTHER THREE CARDS IN THAT ROW OR" 224 PRINT"COLUMN EQUAL THE VALUE OF YOUR CARD OR" 226 PRINT"ITS VALUE PLUS A MULTIPLE OF TEN. YOU" 228 PRINT"MAY NOT PLAY YOUR CARD ON A CARD OF THE" 230 PRINT"SAME VALUE. SUITS DO NOT MATTER, AND" 232 PRINT"ACES ALWAYS EQUAL ONE.":FORI=PTOP+40:READD:POKEI,D:NEXT 234 FORI=1TO4:FORJ=1TO4:P(I,J)=1188+(I-1)*240+(J-1)*6:NEXT:NEXT:GOSUB350 236 PRINTCL$:PRINTCHR$(5)"TO SPECIFY THE TABLE CARD THAT YOU WISH" 238 PRINT"TO PLAY ON, ENTER A TWO DIGIT COMMAND," 240 PRINT"A LETTER (A-D) PLUS A NUMBER (1-4)." 242 PRINT"YOU CAN EXAMINE THE CARDS IN YOUR HAND" 244 PRINT"BY PRESSING THE "CHR$(34)CHR$(95)CHR$(34)" KEY AND ." 246 PRINT"YOU MAY PLAY YOUR CARDS IN ANY ORDER." 248 PRINT:PRINT"A PERFECT SCORE = 24 POINTS.":PRINT 250 PRINT"THERE ARE TWO VERSIONS OF THE GAME:" 252 PRINT" 1. NOVICE: NO TIME LIMIT." 254 PRINT" 2. EXPERT: TIME LIMIT OF EIGHT MINUTES." 256 SYSP,23,6:PRINT"YOUR CHOICE (1 OR 2)?":GOSUB352:GOSUB384 258 TT=VAL(A$):IFTT<1ORTT>2THEN256 260 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:SYSQ 262 FORI=14624TO14631:POKEI,PEEK(I+39144):NEXT 264 FORI=14632TO14639:POKEI,PEEK(I+39280):NEXT 266 FORI=14640TO14647:POKEI,PEEK(I+39312):NEXT 268 FORI=14648TO14655:POKEI,PEEK(I+39320):NEXT 270 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1 272 POKE53272,(PEEK(53272)AND240)OR14:POKE53265,PEEK(53265)OR64 274 BL$="":FORI=1TO12:BL$=BL$+CHR$(32):NEXT:PL$="PLAY TO":IM$="ILLEGAL MOVE" 276 FORI=1TO13:READD(I):NEXT:SY=5:SX=34:P1=22:P2=27:TY=7:TX=34 278 S=0:GOSUB400:FORI=1TO40:CS(1,I)=I:NEXT 280 FORI=1TO40:AA=I+INT((40-I)*RND(0)):TP=CS(1,AA) 282 FORJ=AATOISTEP-1:CS(1,J)=CS(1,J-1):NEXT:CS(1,I)=TP:NEXT 284 FORI=1TO40:NN=CS(1,I):IFNN<11THENCS(1,I)=NN:CS(2,I)=100:CS(3,I)=0:GOTO292 286 IFNN<21THENCS(1,I)=NN-10:CS(2,I)=101:CS(3,I)=2:GOTO292 288 IFNN<31THENCS(1,I)=NN-20:CS(2,I)=102:CS(3,I)=0:GOTO292 290 CS(1,I)=NN-30:CS(2,I)=103:CS(3,I)=2 292 NEXT:PRINTCL$ 294 FORI=1051TO1063:FORJ=0TO80STEP40:POKEI+J,160:POKEI+J+DC,7:NEXT:NEXT 296 FORI=1091TO1103:POKEI,D(I-1090):POKEI+DC,0:NEXT 298 FORI=1050TO1024STEP-1:POKEI,160:POKEI+DC,7:NEXT 300 FORI=1064TO1984STEP40:POKEI,160:POKEI+DC,7:NEXT 302 FORI=1TO4:POKE(I*6+1022),I+176:POKE(I*6+1022+DC),0:NEXT 304 FORI=1TO4:POKE(I*240+944),I+128:POKE(I*240+944+DC),0:NEXT 306 FORI=1TO4:FORJ=1TO4:Z=P(I,J):GOSUB356:NEXT:NEXT 308 C=0:FORI=1TO4:FORJ=1TO4:Z=P(I,J):C=C+1:GOSUB358:CC(I,J)=CC:NEXT:NEXT 310 Z=1697:C=C+1:GOSUB356:GOSUB358:SYSP,SY,28:PRINT"SCORE: 0" 312 SYSP,TY,28:PRINT"TIME: 00:00":TI$="000000" 314 SYSP,P1,P2:PRINTBL$:SYSP,P1,P2:PRINTPL$;:PP$="":INPUTPP$:IFPP$<>"_"THEN326 316 GOSUB404:IFFL>0THEN410 318 IFC=40THEN314 320 FORI=1TO3:T(I)=CS(I,C):NEXT 322 FORI=CTO39:FORJ=1TO3:CS(J,I)=CS(J,I+1):NEXT:NEXT 324 FORI=1TO3:CS(I,40)=T(I):NEXT:Z=1697:GOSUB358:GOTO314 326 IFLEN(PP$)<>2THEN376 328 Y$=LEFT$(PP$,1):X$=RIGHT$(PP$,1):Y=ASC(Y$)-64:X=VAL(X$) 330 IFY<1ORY>4ORX<1ORX>4THEN376 332 Z=P(Y,X):N=CS(1,C) 334 T1=0:T2=0:FORI=1TO4:T1=T1+CC(Y,I):T2=T2+CC(I,X):NEXT 336 T1=T1-CC(Y,X):T2=T2-CC(Y,X):IFN=CC(Y,X)THEN376 338 IFT1=NORT1=N+10ORT1=N+20ORT1=N+30ORT2=NORT2=N+10ORT2=N+20ORT2=N+30THEN342 340 GOTO376 342 Z=1697:GOSUB356 344 Z=P(Y,X):GOSUB358:CC(Y,X)=N:S=S+1:GOSUB404:IFFL>0THEN410 346 SYSP,SY,SX:PRINTS:IFS=24THEN388 348 GOSUB384:C=C+1:Z=1697:GOSUB358:GOTO314 350 SYSP,23,6:PRINTCHR$(18)CHR$(158)" PRESS ANY KEY TO CONTINUE " 352 GETA$:IFA$=""THEN352 354 RETURN 356 FORK=Z-82TOZ-78:FORL=0TO160STEP40:POKEK+L,96:POKEK+L+DC,1:NEXT:NEXT:RETURN 358 CC=CS(1,C):CP=CS(2,C):FC=CS(3,C) 360 POKEZ-81,96:POKEZ-81+DC,1:POKEZ+81,96:POKEZ+81+DC,1 362 IFCC=10THEN368 364 IFCC=1THEN372 366 POKEZ-82,CC+112:POKEZ-82+DC,0:POKEZ+82,CC+112:POKEZ+82+DC,0:GOTO374 368 POKEZ-82,113:POKEZ-81,112:POKEZ-82+DC,0:POKEZ-81+DC,0 370 POKEZ+81,113:POKEZ+82,112:POKEZ+81+DC,0:POKEZ+82+DC,0:GOTO374 372 POKEZ-82,65:POKEZ-82+DC,0:POKEZ+82,65:POKEZ+82+DC,0 374 POKEZ,CP:POKEZ+DC,FC:RETURN 376 SYSP,P1,P2:PRINTIM$:FORI=1TO10:POKE54296,15:FORJ=1TO3:NEXT 378 POKE54296,0:FORJ=1TO2:NEXT:NEXT:GOSUB404 380 IFFL>0THEN410 382 GOTO314 384 POKEDC+24,15:POKEDC+1,110:POKEDC+5,9:POKEDC+6,9:POKEDC+4,17:POKEDC+4,16 386 RETURN 388 FORI=0TO15:POKE53280,I:FORJ=0TO100:NEXT:GOSUB394:NEXT:POKE53280,6 390 SYSP,P1,P2:PRINT"PLAY AGAIN?";:GOSUB352:IFA$="Y"THENGOSUB400:GOTO278 392 SYS58260 394 SYSP,P1,P2:PRINTBL$:FORK=0TO50:NEXT:SYSP,P1,P2:PRINT" WINNER!" 396 IFI/5=INT(I/5)THENGOSUB384 398 RETURN 400 PRINTCL$:POKE53281,12:SYSP,12,6:PRINTCHR$(144)"SHUFFLING THE CARDS NOW..." 402 RETURN 404 FL=0:MM$=MID$(TI$,3,2):SS$=RIGHT$(TI$,2):MM=VAL(MM$):TT$=MM$+":"+SS$ 406 SYSP,TY,TX:PRINTTT$:IFTT=2ANDMM>=LMTHENFL=1 408 RETURN 410 FORI=1TO10:SYSP,P1,P2:PRINTBL$:FORT=0TO100:NEXT 412 SYSP,P1,P2:PRINT"GAME OVER":FORT=0TO150:NEXT:NEXT:GOTO390 414 DATA 32,13,192,132,251,32,13,192,166,251,76,240 416 DATA 255,32,253,174,32,158,173,32,170,177,96 418 DATA 160,0,185,0,208,153,0,56,185,0,209,153,0,57,200,208,241,96 420 DATA 148,146,137,173,147,143,140,137,148,129,137,146,133