(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "24-Aug-2022 08:54:47" ("compiled on " {DSK}larry>medley>lispusers>SOLITAIRE.;2) "23-Aug-2022 23:38:05" bcompl'd in "FULL 23-Aug-2022 ..." dated "23-Aug-2022 23:38:07") (FILECREATED "24-Aug-2022 08:54:17" {DSK}larry>medley>lispusers>SOLITAIRE.;2 26883 :CHANGES-TO ( FNS SOLO DEALDECK GETCARD) (VARS SOLITAIRECOMS) :PREVIOUS-DATE "15-Jan-86 23:32:05" {DSK}larry>medley>lispusers>SOLITAIRE.;1) SOLO :D8 (P 0 X I 0 W) g `l4kgjd @ 7nnI o bn@@ gl @ @ n `H`H k `@o n (171 DISMISS 162 HIST 145 SETA 138 ELT 120 DISMISS 111 SOLITAIRE 101 DSPFONT 95 FONTCREATE 82 DSPTEXTURE 70 CREATEW 60 GETREGION 47 WINDOWP 35 ARRAY 9 BOUNDP) (151 SOLORESULTS 132 SOLORESULTS 126 SOLORESULTS 88 HELVETICA 40 SOLORESULTS 28 FIXP 15 SOLORESULTS 4 SOLORESULTS) ( 157 "Number of cards up" 65 "Just waiting Patiently...") SOLITAIRE :D8 (P 2 I P 0 GAMEVALUE I 1 REPLAY I 0 SOLOW) @ A mH klIJ/`J `J J iJmԺhS` G`d 5kZl`J J iJk԰h` ` h(183 COUNTCARDS 174 DISMISS 163 FLIPSTACK 139 MOVESSS 134 ELT 111 MOVEHS 106 HTOS? 93 MOVESSS 66 MOVES 61 STOS? 56 ELT 45 ELT 22 POSTVALUE 11 DEALDECK 5 CLEARW) (169 WaitBetweenMoves 158 HAND 128 STACKS 100 HAND 88 HAND 50 STACKS 39 STACKS) () CARDIMAGE :D8 (P 2 RANKBM P 1 SUITBM P 0 BM I 0 C F 3 SpadesBits F 4 ClubsBits F 5 10Bits F 6 DiamondsBits F 7 HeartsBits) ll- @djSdkTdlVlW@l UA@dl lKdl lQl lJ@l0gl nHjdll-g jHkdll+g IjdHll hdgg JjdHlJll-Jlhdgg IjdHllhdgg H(275 BKBITBLT 249 BKBITBLT 199 BKBITBLT 173 BLTSHADE 154 BLTSHADE 130 GETCHARBITMAP 125 FONTCREATE 52 SHOULDNT 8 BITMAPCREATE) (269 REPLACE 264 INPUT 243 REPLACE 238 INPUT 225 BITMAP 211 BITMAP 193 REPLACE 188 INPUT 167 REPLACE 148 REPLACE 118 HELVETICA 108 CARD 73 CARD 58 CARD 14 CARD) () COUNTCARDS :D8 (P 1 S) $ljdIHJJI ԺIkY(19 TOPSUITSTACK) (24 CARD) () CREATEHAND :D8 (P 1 I I 0 F) ^hl4@2IH9J`k l-ojlojjh I K Lh[IkYL&(72 GETCARD 65 FLIPSTACK 60 SHOWCARDSTACK 24 ELT) (18 STACKS) ( 44 0.667 34 0.6) CREATESTACK :D8 (P 5 J P 1 I I 0 N) mh@ddklkBk]H@Al Akl@lAhNIL (53 CARD 42 CARD 27 CARD 19 CARD 8 CARD) () HTOS? :D8 (I 0 H) @ @ (12 SEARCHSTACKS) NIL () MOVECARD :D8 (I 2 Y I 1 X I 0 C F 0 SOLOW) @,@@@ AB@ APAB@hdddgg @hdPABhdgg @A@B @(114 BKBITBLT 82 BKBITBLT 49 DOMOVE) (130 CARD 121 CARD 108 REPLACE 103 INPUT 89 CARD 76 REPLACE 71 INPUT 60 CARD 41 CARD 31 CARD 23 CARD 15 CARD 5 CARD) () DOMOVE :D8 (P 9 OLDLOW P 8 OLDLEFT P 7 YFC P 6 XFC P 4 XFP P 3 XWP P 2 YFP P 1 YWP P 0 N I 5 SAVE I 4 NY I 3 NX I 2 BOTTOM I 1 LEFT I 0 IMAGE F 10 SOLOW) `CA DB dMM`k`XCAH[CAH\DBHYDBHZjd" AdCBDhA_B_AKNL^HNHܾbBIOJ_HOH_bEjdWOOll-gg WABEjdll-gg @jdWABll-gg o(213 BKBITBLT 185 BKBITBLT 157 BKBITBLT 18 ABS 10 ABS) (207 REPLACE 202 INPUT 179 REPLACE 174 INPUT 151 REPLACE 146 INPUT 38 MaxCardMove 30 MaxCardMove) () MOVEHS :D8 (I 1 SN I 0 H) Ad@@d @@ A(27 FLIPSTACK 17 PUSHCARD) NIL () MOVES :D8 (I 1 S2 I 0 S1) A@hA @h@ A(20 FLIPSTACK 11 MOVES1) NIL () MOVES1 :D8 (I 2 S2 I 1 P I 0 L) @d@B @A B@ (28 PUSHCARD 20 UPCARD 12 MOVES1) NIL () UPCARD :D8 (P 0 DY I 1 Y I 0 X F 1 SOLOW) A@ A @jdAjHll-Hgg Q@@ @jdll-Hgg @jdQ@@ ll-Hgg h(166 BKBITBLT 117 BKBITBLT 68 BKBITBLT) (160 REPLACE 155 INPUT 142 CARD 134 CARD 123 CARD 111 REPLACE 106 INPUT 91 CARD 83 CARD 75 CARD 62 REPLACE 57 INPUT 42 CARD 32 CARD 20 CARD 12 CARD) () MOVESSS :D8 (P 1 STS P 0 TS I 0 S F 2 GAMEVALUE) @HdwHY kV`I@@dIkl `l l-o @@ Rlc i(125 POSTVALUE 113 FLIPSTACK 102 SETA 97 MOVECARD 79 ELT 67 STACKLOC 30 TOPSUITSTACK) (72 STACKS 47 SUITSTACKS 35 CARD 22 CARD 14 CARD) ( 90 1.5) NXTCARD :D8 (I 0 S F 1 SOLOW) @@@@hQ Q@@@@Hj HH jl-@@@Hj HH l@@@Hj HH l-j@g @9hQ @ jd@l@l-g (234 BLTSHADE 194 LAST 187 DSPTEXTURE 175 BLTSHADE 150 \FZEROP 109 \FZEROP 65 \FZEROP 25 DSPTEXTURE) (228 REPLACE 200 CARD 169 REPLACE) () PUSHCARD :D8 (I 1 C I 0 S) AA@@d@@d  @A@(55 MOVECARD) (42 CARD 17 CARD) () POSTVALUE :D8 (I 0 V F 0 SOLOW) nl-P gl P hP PhP hP hP  nhP  g gP j@oP j@P o%@j5@)oP @P oP P  o(192 \FZEROP 186 DSPOPERATION 179 PRIN1 167 PRIN1 159 PRIN1 130 PRIN1 120 PRIN1 104 DSPOPERATION 93 BLTSHADE 75 DSPFONT 57 DSPFONT 50 DSPYPOSITION 43 DSPXPOSITION 35 DSPTEXTURE 28 DSPFONT 22 FONTCREATE 10 MOVETO) (98 PAINT 87 REPLACE 80 FONTDESCRIPTOR 62 FONTDESCRIPTOR 15 HELVETICA) ( 199 "Dead even! " 173 " " 153 "Ahead by $" 136 " " 114 "Down by $") SEARCHSTACKS :D8 (P 0 I I 0 K) 1kXlh`H @ `H Hk԰(41 ELT 29 GOODMOVE? 21 ELT) (35 STACKS 15 STACKS) () SHOWCARDSTACK :D8 (I 0 S F 0 SOLOW) W@dQhddP@@ll-ggn hddP@k@kll+ggn3 @(83 BKBITBLT 42 BKBITBLT) (74 REPLACE 69 TEXTURE 33 REPLACE 28 TEXTURE) () SHUFFLEDECK :D8 (P 5 Y P 4 I P 3 R P 2 I P 1 S) g `Vl4g ljdIH7k[l &`JkZ`dIdK Kk԰IkY k\l4hkl4 `L`M `M`L Lk԰(168 SETA 162 SETA 157 ELT 140 ELT 122 RAND 89 SETA 31 ARRAY 9 BOUNDP) (151 DECK 145 DECK 134 DECK 128 DECK 73 |CARDTYPE#| 64 DECK 36 DECK 26 POINTER 15 DECK 4 DECK) () STACKLOC :D8 (I 1 N I 0 I F 0 SOLOW) $@Pg AlAk l@k(25 FIXR 11 GETWINDOWPROP) (6 WIDTH) () STOS? :D8 (I 0 SN) .@*@d l h@  (43 SEARCHSTACKS 37 LAST 15 LAST) (21 CARD) () TOPSUITSTACK :D8 (L (0 I)) `@ (10 ELT) (4 SUITSTACKS) () HIST :D8 (P 7 I P 5 VS P 4 HS P 3 HM P 2 VM P 1 WW P 0 WH I 2 L I 1 W I 0 A) Ag Ag hA  lJ[jAjdIHg IKl@ HJl@ @ @ m@ ON]KJIKJlgA KJKHJlgA IKBhA hA  lA BA h`AKOLJLM@O jg Ok_u(248 BLTSHADE 234 ELT 209 PRIN1 202 MOVETO 186 DSPFONT 178 STRINGWIDTH 173 DSPFONT 162 DRAWLINE 142 DRAWLINE 111 ARRAYORIG 101 ARRAYORIG 95 ARRAYSIZE 85 ARRAYMAX 72 ARRAYSIZE 60 BLTSHADE 28 DSPFONT 21 GETWINDOWPROP 10 GETWINDOWPROP) (242 REPLACE 216 GRAYSHADE 191 FONTDESCRIPTOR 155 REPLACE 135 REPLACE 54 REPLACE 33 FONTDESCRIPTOR 16 WIDTH 5 HEIGHT) () ARRAYMAX :D8 (P 2 M P 1 I I 0 A) :@ @ m@ jIHJJ@I @I IkY(49 ELT 39 ELT 21 ARRAYORIG 11 ARRAYORIG 5 ARRAYSIZE) NIL () (PRETTYCOMPRINT SOLITAIRECOMS) (RPAQQ SOLITAIRECOMS ((FNS SOLO SOLITAIRE) (FNS CARDIMAGE COUNTCARDS CREATEHAND CREATESTACK DEALDECK FLIPSTACK GETCARD GOODMOVE? HTOS? MOVECARD DOMOVE MOVEHS MOVES MOVES1 UPCARD MOVESSS NXTCARD PUSHCARD POSTVALUE SEARCHSTACKS SHOWCARDSTACK SHUFFLEDECK STACKLOC STOS? TOPSUITSTACK) (FNS HIST ARRAYMAX) ( DECLARE%: DONTCOPY (FNS SHOWCONFIG PRINTCARDSTACK CARDNAME)) (DECLARE%: EVAL@COMPILE DONTCOPY (MACROS BOTTOM KINGP STACK TOP) (RECORDS CARD CARDSTACK) (CONSTANTS (Spades 0) (Clubs 1) (Diamonds 2) (Hearts 3) (CostOfDeck 50) (PayForCard 5) (NStacks 7) (NSuits 4) (CardsPerSuit 13) (TotalCards 52)) (CONSTANTS (BACKSHADE 52275) (BetweenStacks 2) (Overlap 0.667) (CardWidth 30) (CardHeight 45)) (GLOBALVARS HAND STACKS SUITSTACKS DECK SOLORESULTS) (GLOBALVARS MaxCardMove WaitBetweenMoves)) (INITRECORDS CARD CARDSTACK) (BITMAPS SpadesBits ClubsBits DiamondsBits HeartsBits 10Bits) (INITVARS (MaxCardMove 8) ( WaitBetweenMoves 100) (DECK) (SOLORESULTS)) (ADDVARS (IDLE.FUNCTIONS ("Solitaire" (QUOTE SOLO)))))) (/DECLAREDATATYPE (QUOTE CARD) (QUOTE (POINTER POINTER POINTER POINTER POINTER POINTER)) (QUOTE ((CARD 0 POINTER) (CARD 2 POINTER) (CARD 4 POINTER) (CARD 6 POINTER) (CARD 8 POINTER) (CARD 10 POINTER))) ( QUOTE 12)) (RPAQQ SpadesBits #*(11 11)@D@@@N@@AO@@COH@GOL@GOL@GOL@COH@@D@@AO@@COH@) (RPAQQ ClubsBits #*(11 11)@D@@@N@@AO@@@N@@BDH@GEL@OON@GEL@BDH@@N@@COH@) (RPAQQ DiamondsBits #*(11 11)@D@@@N@@AK@@CAH@F@L@L@F@F@L@CAH@AK@@@N@@@D@@) (RPAQQ HeartsBits #*(11 11)@@@@CAH@GKL@DND@D@D@F@L@CAH@AK@@@N@@@D@@@@@@) (RPAQQ 10Bits #*(20 18)@@@@@@@@@F@GL@@@@N@ON@@@GNALG@@@GNAHC@@@@FAHC@@@@FAHC@@@@FAHC@@@@FAHC@@@@FAHC@@@@FAHC@@@@FALG@@@@F@ON@@@@F@GL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ) (RPAQ? MaxCardMove 8) (RPAQ? WaitBetweenMoves 100) (RPAQ? DECK) (RPAQ? SOLORESULTS) (ADDTOVAR IDLE.FUNCTIONS ("Solitaire" (QUOTE SOLO))) (PUTPROPS SOLITAIRE COPYRIGHT ("Xerox Corporation" 1982 1985 1986)) NIL