Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_53.ADF » G/PYRPAT2

G/PYRPAT2

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_53.ADF
Filename: G/PYRPAT2
Read OK:
File size: 20D9 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM     Pyramid Patience (BBC)
   20IFPAGE<>&E00 THEN PROCloc
   30MODE4:VDU23;8202;0;0;0;
   40DIMcx%(30),cy%(30),p%(30),cv$(30)
   50DIMip$(2),cval%(2),pi%(22),du%(22)
   60DIMrl$(6):game%=0
   70CLS:PROCpeter
   80PROCinit:PROCshuffle
   90IF SH% PROCshuffle
  100temp$=apex$+f$
  110VDU22,129:PROCtable
  120PROCtableu:temp$="":PROCdeal
  130PROCplay:CLS
  140IF kflag GOTO 170
  150PROCremovecard(c%,d%)
  160IF st AND wa temp$=""
  170PROCremovecard(A%,B%)
  180IF st tflag=TRUE:PROCdeal
  190IF wa PROCupdatewaste:VDU4
  200PROCcheckwin
  210IF win=FALSE GOTO130
  220END
  230:
  240DEF PROCtableu:r=0
  250REPEAT X%=X%-88:Y%=Y%-96:x=X%:y=Y%
  260FORx=x TO X%+step%*r STEP step%:c%=c%+1
  270cx%(c%)=x:cy%(c%)=y:p%(c%)=c%
  280PROCbrdr(x,y):GCOL0,3
  290VDU5:MOVEx,y:PLOT97,120,step%
  300PROCdisplay(x,y,temp$,c%)
  310temp$=RIGHT$(temp$,LEN(temp$)-2)
  320NEXT:r=r+1:UNTIL r=7:card$=""
  330ENDPROC
  340:
  350DEF PROCbrdr(x,y):GCOL0,0
  360MOVEx-2,y-2:PLOT29,x-2,y+180
  370PLOT29,x+124,y+180:PLOT29,x+124,y-2
  380PLOT29,x-2,y-2:ENDPROC
  390:
  400DEFPROCtable:VDU5,23;8202;0;0;0;
  410VDU28,0,31,39,29,24,0;100;1279;1023;
  420VDU19,2,2,0,0,0:GCOL0,130:CLG
  430CLS:GCOL0,0:N=64
  440MOVE524,1008:PRINT"PYRAMID"
  450MOVE508,968:PRINT"PATIENCE"
  460FOR x=104 TO 1228 STEP 88:N=N+1
  470MOVE x,140:PRINT;CHR$(N):NEXT
  480N=0:FOR y=756 TO 276 STEP-96
  490N=N+1:MOVE8,y:PRINT;N:MOVE1244,y:PRINT;N:NEXT
  500MOVE8,1016:DRAW184,1016:DRAW184,768:DRAW8,768:DRAW8,1016:MOVE16,1008:VDU5:PRINT"Waste"
  510MOVE894,1016:DRAW1270,1016:DRAW1270,768:DRAW894,768:DRAW894,1016:MOVE986,1008:PRINT"Stock"
  520MOVE216,1008:PRINT"Game ";game%
  530ENDPROC
  540:
  550DEF PROCsuits(card$)
  560IF RIGHT$(card$,1)="H"THEN suit$=H$:suit2$=H2$:GCOL0,1
  570IF RIGHT$(card$,1)="D"THEN suit$=D$:suit2$=D2$:GCOL0,1
  580IF RIGHT$(card$,1)="C"THEN suit$=C$:suit2$=C2$:GCOL0,0
  590IF RIGHT$(card$,1)="S"THEN suit$=S$:suit2$=S2$:GCOL0,0
  600ENDPROC
  610:
  620DEF PROCdisplay(x,y,c$,c%)
  630card$="":card$=LEFT$(c$,2)
  640cv$(c%)=card$
  650pip$=LEFT$(cv$(c%),1)
  660DEF PROCdisplay1(card$)
  670IF card$="" ENDPROC
  680PROCsuits(card$)
  690MOVEx+2,y+172:PRINTpip$
  700MOVEx+2,y+140:PRINTsuit$
  710MOVEx+32,y+132:PRINTsuit2$
  720MOVEx+88,y+64:PRINTpip$
  730MOVEx+88,y+32:PRINTsuit$
  740SOUND0,-10,4,1:ENDPROC
  750:
  760DEF PROCstock(x,y):GCOL0,3
  770IF S%=0 tflag=FALSE:ENDPROC
  780MOVEx,y:MOVEx,y-172
  790PLOT85,x+120,y
  800MOVEx+120,y-172:PLOT85,x,y-172
  810VDU5:MOVE1124,958:GCOL0,1:PRINTSB$
  820PROCbrdr(x,y-176):ENDPROC
  830:
  840DEF PROCshuffle
  850f$="":D%=51:FORI%=1TO51
  860A%=INT(RND(RND(1))*D%+1)
  870f$=f$+MID$(temp$,2*A%-1,2)
  880L$=LEFT$(temp$,(A%-1)*2)
  890R$=RIGHT$(temp$,(LEN(temp$)/2-A%)*2)
  900temp$=L$+R$:D%=D%-1
  910NEXT I%:temp$=f$
  920stock$=RIGHT$(temp$,48)
  930IF PP%=FALSE ENDPROC
  940FOR I%=1 TO LEN(stock$)-1 STEP 2
  950IF MID$(stock$,I%,1)=MID$(stock$,I%+2,1) THEN stock$=stock$+MID$(stock$,I%+2,2):stock$=LEFT$(stock$,I%+1)+MID$(stock$,I%+4,LEN(stock$)-(I%+2))
  960NEXT ELSE NEXT
  970ENDPROC
  980:
  990DEF PROCinit
 1000S%=25:W%=0:tflag=FALSE:game%=game%+1
 1010cx%(0)=1112:cy%(0)=790
 1020cx%(29)=32:cy%(29)=790
 1030cx%(30)=920:cy%(30)=790
 1040pack$="A23456789TJQK":waste$="":W$=""
 1050key$="ABCDEFGHIJKLMWS@TQ":stock$=""
 1060suit$="HCDS":X%=668:Y%=832:step%=176
 1070C$="":apex$="":temp$="":waste2$=""
 1080rl$(1)="FH":rl$(2)="EGI"
 1090rl$(3)="DFHJ":rl$(4)="CEGIK"
 1100rl$(5)="BDFHJL":rl$(6)="ACEGIKM"
 1110count%=28:r%=0:c%=0:SH%=TRUE:PP%=TRUE
 1120FOR I%=1 TO 13:FOR J%=1 TO 4
 1130temp$=temp$+MID$(pack$,I%,1)+MID$(suit$,J%,1)
 1140NEXT J%:NEXT I%
 1150apex$=RIGHT$(pack$,1)+(MID$(suit$,INT(RND(4)),1))
 1160FOR k%=1 TO LEN(temp$) STEP2
 1170IF MID$(temp$,k%,2)=apex$ THEN NEXT ELSE C$=C$+MID$(temp$,k%,2):NEXT
 1180C$=apex$+C$:temp$="":temp$=RIGHT$(C$,LEN(C$)-2)
 1190D$=CHR$(231):H$=CHR$(232)
 1200C$=CHR$(233):S$=CHR$(234)
 1210nl$=CHR$(8)+CHR$(8)+CHR$(10)
 1220D2$=CHR$(235)+CHR$(236)+nl$+CHR$(237)+CHR$(238)
 1230H2$=CHR$(239)+CHR$(240)+nl$+CHR$(241)+CHR$(242)
 1240C2$=CHR$(243)+CHR$(244)+nl$+CHR$(245)+CHR$(246)
 1250S2$=CHR$(247)+CHR$(248)+nl$+CHR$(249)+CHR$(250)
 1260SB$="":sb$=CHR$230+CHR$230+CHR$230+CHR$8+CHR$8+CHR$8+CHR$10
 1270FOR I%=1TO5:SB$=SB$+sb$:NEXT
 1280RESTORE
 1290FOR I%=1TO22:READN,T
 1300pi%(I%)=N:du%(I%)=T:NEXT
 1310DATA117,5,129,5,129,10,117,5,109,5
 1320DATA101,10,109,5,117,5,129,5,117,5
 1330DATA109,20,117,5,129,5,129,10,117,5
 1340DATA109,5,101,10,109,5,117,5,109,5,101,5,101,20
 1350ENDPROC
 1360:
 1370DEF PROCplay
 1380CLS:C%=0:I%=0:*FX15,1
 1390wa=FALSE:st=FALSE:kflag=FALSE
 1400FOR I%=1TO2
 1410PRINT"Enter card #";I%;:IF (S%<2 AND I%<2) PRINT;" or Q to quit";
 1420INPUT" "ip$(I%)
 1430C%=INSTR(key$,RIGHT$(ip$(I%),1))
 1440IF C%=0 PROCerr(2):I%=2:NEXT:GOTO1380
 1450IF C%=16 PROCdeal:I%=2:NEXT:GOTO1380
 1460IF C%=17 PROCerr(7):I%=2:NEXT:GOTO1380
 1470IF C%=18 I%=2:NEXT:PROCquit:ENDPROC
 1480IF C%=14 B%=29:A%=0:wa=TRUE:GOTO1580
 1490IF C%=15 B%=30:A%=0:st=TRUE:GOTO1580
 1500A%=VAL(LEFT$(ip$(I%),1))
 1510row%=FNconvert(A%)
 1520IF row%=0 PROCerr(1):GOTO1380
 1530IF NOT FNrl(ip$(I%)) THEN PROCerr(8):I%=2:NEXT:GOTO1380
 1540B%=ASC(RIGHT$(ip$(I%),1))/2-row%
 1550IF (p%(B%)=0 AND cv$(B%)="")PROCerr(3):CLS:GOTO 1380
 1560IF A%<6:IF (p%(B%+(2+A%))<>0 OR p%(B%+(A%+1))<>0) PROCerr(4):GOTO1380
 1570IF C%>13 AND C%<16 cv$(B%)=temp$
 1580cval%(I%)=FNval(LEFT$(cv$(B%),1))
 1590IF cval%(I%)=13 THEN kflag=TRUE:I%=2:NEXT:ENDPROC
 1600IF I%=1 c%=A%:d%=B%
 1610NEXT I%
 1620IF cval%(1)+cval%(2)<>13 PROCerr(5):GOTO1380
 1630ENDPROC
 1640:
 1650DEF FNconvert(A%)
 1660IF (A%<1 OR A%>6):=FALSE
 1670IF A%=1:=33 ELSE IF A%=2:=30
 1680IF A%=3:=27 ELSE IF A%=4:=22
 1690IF A%=5:=17 ELSE IF A%=6:=10
 1700:
 1710DEF FNval(V$)
 1720IF V$="A":=1 ELSE IF V$="T":=10
 1730IF V$="J":=11 ELSE IF V$="Q":=12
 1740IF V$="K":=13 ELSE =VAL(V$)
 1750:
 1760DEF FNrl(ip$(I%))
 1770r=VAL(LEFT$(ip$(I%),1))
 1780c$=RIGHT$(ip$(I%),1)
 1790IF INSTR(rl$(r),c$) THEN =TRUE ELSE =FALSE
 1800:
 1810DEF PROCremovecard(a%,b%)
 1820GCOL0,2
 1830MOVEcx%(b%)-2,cy%(b%)-2
 1840PLOT97,126,182
 1850cv$(b%)="":p%(b%)=0
 1860IF C%>13 AND S%>0 tflag=TRUE
 1870IF a%=0 THEN ENDPROC
 1880SOUND0,-10,4,1
 1890PROCcheck(a%,b%)
 1900PROCrepair(a%,b%)
 1910ENDPROC
 1920:
 1930DEF PROCrepair(A%,B%)
 1940I%=(B%-(A%+1))
 1950IF NOT p%(I%) GOTO2030
 1960GCOL0,3:MOVEcx%(I%)+86,cy%(I%)
 1970PLOT97,34,84
 1980MOVEcx%(I%)+86,cy%(I%)-2:GCOL0,0
 1990PLOT29,cx%(I%)+124,cy%(I%)-2
 2000PLOT29,cx%(I%)+124,cy%(I%)+88
 2010IF p%(I%)<>0 THEN p%(I%)=I%
 2020PROCdisplay2(I%)
 2030I%=(B%-A%):GCOL0,3
 2040IF NOT p%(I%) ENDPROC
 2050MOVEcx%(I%),cy%(I%):PLOT97,38,86
 2060GCOL0,0:MOVEcx%(I%)-2,cy%(I%)+88
 2070PLOT29,cx%(I%)-2,cy%(I%)-2
 2080PLOT29,cx%(I%)+40,cy%(I%)-2
 2090IF p%(I%)<>0 THEN p%(I%)=I%
 2100ENDPROC
 2110:
 2120DEF PROCcheck(A%,B%)
 2130IF (B%=2 OR B%=4 OR B%=7 OR B%=11 OR B%=16 OR B%=22) THEN p%(B%-A%)=TRUE:ENDPROC
 2140IF (B%=3 OR B%=6 OR B%=10 OR B%=15 OR B%=21 OR B%=28) THEN p%(B%-(A%+1))=TRUE:ENDPROC
 2150IF p%(B%-A%)<>0 THEN p%(B%-A%)=TRUE
 2160IF p%(B%-(A%+1))<>0 THEN p%(B%-(A%+1))=TRUE
 2170ENDPROC
 2180:
 2190DEF PROCdisplay2(I%)
 2200pip$=LEFT$(cv$(I%),1)
 2210card$=cv$(I%):PROCsuits(card$)
 2220MOVEcx%(I%)+88,cy%(I%)+64
 2230VDU5:PRINTpip$
 2240MOVEcx%(I%)+88,cy%(I%)+32
 2250PRINTsuit$:VDU4:ENDPROC
 2260:
 2270DEF PROCerr(e%):COLOUR1:*FX15,1
 2280SOUND1,-15,20,5:CLS:PRINT
 2290IF e%=1 PRINT"Row number incorrect ";
 2300IF e%=2 PRINT;"Invalid entry.";
 2310IF e%=3 PRINT;ip$(I%);" Has already been removed.";
 2320IF e%=4 PRINT;ip$(I%);" Not yet available.";
 2330IF e%=5 PRINT;ip$(1);"+";ip$(2);" Do NOT total 13.";
 2340IF e%=6 PRINT;"Stock exhausted.";
 2350IF e%=7 PRINT;"Cards remaining :"''"Waste=";W%;"  Stock=";S%;" ";
 2360IF e%=8 PRINT"Col to Row input mis-match";
 2370COLOUR2:PRINT" HIT SPACE"
 2380REPEAT UNTIL GET=32:CLS
 2390COLOUR3:CLS:e%=0:ENDPROC
 2400:
 2410DEF PROCdeal
 2420IF (S%=1 AND C%=16) THEN S%=1:PROCerr(6):ENDPROC
 2430S%=S%-1
 2440IF S%<=0 S%=0:PROCerr(6):ENDPROC
 2450IF S%=1 PROCremovecard(0,0):GOTO2470
 2460PROCstock(1112,966)
 2470IF (S%>=0 AND S%<=23 AND W%>=0 AND C%=16) tflag=FALSE
 2480IF tflag temp$=""
 2490IF W%<=0 W%=0
 2500W$=W$+temp$
 2510IF S%>0 AND S%<24 AND NOT tflag W%=W%+1
 2520temp$=LEFT$(stock$,2):cv$(30)=temp$
 2530x=920:y=790:GCOL0,3
 2540MOVEx,y:MOVEx+120,y
 2550PLOT85,x,y+176:MOVEx+120,y+176
 2560PLOT85,x+120,y:PROCbrdr(x,y)
 2570pip$=LEFT$(temp$,1):VDU5
 2580PROCdisplay1(temp$):SOUND0,-10,4,1
 2590stock$=RIGHT$(stock$,LEN(stock$)-2)
 2600PROCdispwaste(W$)
 2610tflag=FALSE:VDU4:ENDPROC
 2620:
 2630DEF PROCdispwaste(W$)
 2640waste$=RIGHT$(W$,2)
 2650IF waste$="" OR waste$=waste2$ ENDPROC
 2660cv$(29)=waste$
 2670x=32:y=790:GCOL0,3
 2680MOVEx,y:MOVEx+120,y:PLOT85,x,y+176
 2690MOVEx+120,y+176:PLOT85,x+120,y
 2700PROCbrdr(x,y)
 2710pip$=LEFT$(waste$,1):VDU5
 2720PROCdisplay1(waste$):tflag=FALSE
 2730waste2$=waste$
 2740ENDPROC
 2750:
 2760DEF PROCupdatewaste
 2770W%=W%-1:IF W%<0 W%=0
 2780W$=LEFT$(W$,LEN(W$)-2)
 2790PROCdispwaste(W$):ENDPROC
 2800:
 2810DEF PROCcheckwin
 2820LOCAL I%:win=TRUE:count%=28
 2830FOR I%=28 TO 2 STEP-1
 2840IF p%(I%)>0 win=FALSE:I%=2:NEXT:ENDPROC ELSE NEXT
 2850IF W%>0 OR S%>0 win=FALSE:I%=2:ENDPROC
 2860GCOL0,0:VDU5
 2870MOVE186,200:PLOT97,914,400
 2880GCOL0,3:MOVE400,564:PRINT"CONGRATULATIONS"
 2890MOVE 352,460:PRINT"You have achieved"
 2900MOVE 316,424:PRINT"The almost imposible"
 2910FOR I%=1 TO 22
 2920SOUND1,-15,pi%(I%),du%(I%)
 2930SOUND1,0,0,1:NEXT
 2940MOVE 196,324:PRINT"Would you like to play again"
 2950MOVE 512,264:PRINT"(Y/N)";
 2960PROCyn:ENDPROC
 2970:
 2980DEF PROCquit:LOCAL I%
 2990FOR I%=28 TO1 STEP-1
 3000IF p%(I%)=0 count%=count%-1
 3010NEXT:VDU22,6,7
 3020PRINT'''"Bad Luck...."'"You have been unable to complete"'"Game ";game%:PRINT''"There are ";W%;" cards left in the waste."
 3030PRINTTAB(10);S%;" cards left in stock."
 3040PRINTTAB(6)"and ";count%;" cards left in the pyramid."
 3050PRINT''"Better luck next time."''"Play again ?  (Y/N)";
 3060PROCyn:ENDPROC
 3070:
 3080DEF PROCyn
 3090REPEAT G=INSTR("YyNn",GET$):UNTILG>0 AND G<5
 3100IF G<3 VDU22,4,23;8202;0;0;0;:GOTO70 ELSE PRINT''"Thanks for playing PYRAMID PATIENCE."'"Next time you'll do it!":END
 3110:
 3120DEF PROCpeter
 3130CLS:X%=7:PRINTTAB(12,1)"PYRAMID PATIENCE"
 3140PRINTTAB(10,2)"===================="TAB(9,3)"Author: Leslie J. Fowl"
 3150PRINT'''"            SHUFFLE OPTIONS:"''
 3160PRINT''"        1) Straight Shuffle only"
 3170PRINT''"    2)  Shuffle and pairs separation"
 3180PRINT''"         3) Double Shuffle only"
 3190PRINT''" 4) Double Shuffle and pairs separation"
 3200PRINT'''"Pairs separation applies to stock only."
 3210PRINT'''"Enter option number :";
 3220REPEAT:G%=GET-48:UNTIL G%>0 AND G%<5:PRINTTAB(22,29);G%
 3230IF G%=1 SH%=FALSE:PP%=FALSE
 3240IF G%=2 SH%=FALSE:PP%=TRUE
 3250IF G%=3 SH%=TRUE:PP%=FALSE
 3260IF G%=4 SH%=TRUE:PP%=TRUE
 3270PRINTTAB(28,29)"Shuffling...";:ENDPROC
 3280:
 3290DEFPROCloc:COLOUR0:*KEY0 *TAPE|MFORI%=0TO TOP-PAGE STEP4:I%!&E00=I%!PAGE:N.|MPAGE=&E00|MOLD|MRUN|M
 3300*FX138 0 128
 3310END

 �     Pyramid Patience (BBC)
�<>&E00 � �loc
�4:�23;8202;0;0;0;
(#�cx%(30),cy%(30),p%(30),cv$(30)
2$�ip$(2),cval%(2),pi%(22),du%(22)
<�rl$(6):game%=0
F�:�peter
P�init:�shuffle
Z� SH% �shuffle
dtemp$=apex$+f$
n�22,129:�table
x�tableu:temp$="":�deal
��play:�
�� kflag � �tj@
��removecard(c%,d%)
�� st � wa temp$=""
��removecard(A%,B%)
�� st tflag=�:�deal
�� wa �updatewaste:�4
�
�checkwin
�� win=� �tB@
��
�:
�� �tableu:r=0
�!� X%=X%-88:Y%=Y%-96:x=X%:y=Y%
%�x=x � X%+step%*r � step%:c%=c%+1
!cx%(c%)=x:cy%(c%)=y:p%(c%)=c%
�brdr(x,y):�0,3
"�5:�x,y:�97,120,step%
,�display(x,y,temp$,c%)
6temp$=�temp$,�(temp$)-2)
@�:r=r+1:� r=7:card$=""
J�
T:
^� �brdr(x,y):�0,0
h�x-2,y-2:�29,x-2,y+180
r!�29,x+124,y+180:�29,x+124,y-2
|�29,x-2,y-2:�
�:
���table:�5,23;8202;0;0;0;
�&�28,0,31,39,29,24,0;100;1279;1023;
��19,2,2,0,0,0:�0,130:�
��:�0,0:N=64
��524,1008:�"PYRAMID"
��508,968:�"PATIENCE"
�� x=104 � 1228 � 88:N=N+1
�� x,140:�;�(N):�
�N=0:� y=756 � 276 �-96
� N=N+1:�8,y:�;N:�1244,y:�;N:�
�B�8,1016:�184,1016:�184,768:�8,768:�8,1016:�16,1008:�5:�"Waste"
�H�894,1016:�1270,1016:�1270,768:�894,768:�894,1016:�986,1008:�"Stock"
�216,1008:�"Game ";game%
�
:
&� �suits(card$)
0-� �card$,1)="H"� suit$=H$:suit2$=H2$:�0,1
:-� �card$,1)="D"� suit$=D$:suit2$=D2$:�0,1
D-� �card$,1)="C"� suit$=C$:suit2$=C2$:�0,0
N-� �card$,1)="S"� suit$=S$:suit2$=S2$:�0,0
X�
b:
l� �display(x,y,c$,c%)
vcard$="":card$=�c$,2)
�cv$(c%)=card$
�pip$=�cv$(c%),1)
�� �display1(card$)
�� card$="" �
��suits(card$)
��x+2,y+172:�pip$
��x+2,y+140:�suit$
��x+32,y+132:�suit2$
��x+88,y+64:�pip$
��x+88,y+32:�suit$
��0,-10,4,1:�
�:
�� �stock(x,y):�0,3
� S%=0 tflag=�:�
�x,y:�x,y-172
�85,x+120,y
 �x+120,y-172:�85,x,y-172
*�5:�1124,958:�0,1:�SB$
4�brdr(x,y-176):�
>:
H� �shuffle
Rf$="":D%=51:�I%=1�51
\A%=�(�(�(1))*D%+1)
ff$=f$+�temp$,2*A%-1,2)
pL$=�temp$,(A%-1)*2)
z R$=�temp$,(�(temp$)/2-A%)*2)
�temp$=L$+R$:D%=D%-1
�� I%:temp$=f$
�stock$=�temp$,48)
�
� PP%=� �
�� I%=1 � �(stock$)-1 � 2
�w� �stock$,I%,1)=�stock$,I%+2,1) � stock$=stock$+�stock$,I%+2,2):stock$=�stock$,I%+1)+�stock$,I%+4,�(stock$)-(I%+2))
�	� � �
��
�:
�� �init
�$S%=25:W%=0:tflag=�:game%=game%+1
�cx%(0)=1112:cy%(0)=790
�cx%(29)=32:cy%(29)=790
cx%(30)=920:cy%(30)=790
)pack$="A23456789TJQK":waste$="":W$=""
'key$="ABCDEFGHIJKLMWS@TQ":stock$=""
$(suit$="HCDS":X%=668:Y%=832:step%=176
.&C$="":apex$="":temp$="":waste2$=""
8rl$(1)="FH":rl$(2)="EGI"
B rl$(3)="DFHJ":rl$(4)="CEGIK"
L$rl$(5)="BDFHJL":rl$(6)="ACEGIKM"
V#count%=28:r%=0:c%=0:SH%=�:PP%=�
`� I%=1 � 13:� J%=1 � 4
j)temp$=temp$+�pack$,I%,1)+�suit$,J%,1)
t
� J%:� I%
~'apex$=�pack$,1)+(�suit$,�(�(4)),1))
�� k%=1 � �(temp$) �2
�3� �temp$,k%,2)=apex$ � � � C$=C$+�temp$,k%,2):�
�+C$=apex$+C$:temp$="":temp$=�C$,�(C$)-2)
�D$=�(231):H$=�(232)
�C$=�(233):S$=�(234)
�nl$=�(8)+�(8)+�(10)
�'D2$=�(235)+�(236)+nl$+�(237)+�(238)
�'H2$=�(239)+�(240)+nl$+�(241)+�(242)
�'C2$=�(243)+�(244)+nl$+�(245)+�(246)
�'S2$=�(247)+�(248)+nl$+�(249)+�(250)
�*SB$="":sb$=�230+�230+�230+�8+�8+�8+�10
�� I%=1�5:SB$=SB$+sb$:�
�

� I%=1�22:�N,T
pi%(I%)=N:du%(I%)=T:�
#�117,5,129,5,129,10,117,5,109,5
(#�101,10,109,5,117,5,129,5,117,5
2$�109,20,117,5,129,5,129,10,117,5
<0�109,5,101,10,109,5,117,5,109,5,101,5,101,20
F�
P:
Z� �play
d�:C%=0:I%=0:*FX15,1
nwa=�:st=�:kflag=�
x� I%=1�2
�:�"Enter card #";I%;:� (S%<2 � I%<2) �;" or Q to quit";
��" "ip$(I%)
�C%=�key$,�ip$(I%),1))
�� C%=0 �err(2):I%=2:�:�DdE
�� C%=16 �deal:I%=2:�:�DdE
� � C%=17 �err(7):I%=2:�:�DdE
�� C%=18 I%=2:�:�quit:�
�!� C%=14 B%=29:A%=0:wa=�:�TlF
�!� C%=15 B%=30:A%=0:st=�:�TlF
�A%=�(�ip$(I%),1))
�row%=�convert(A%)
�� row%=0 �err(1):�DdE
�+� � �rl(ip$(I%)) � �err(8):I%=2:�:�DdE
B%=�(�ip$(I%),1))/2-row%
-� (p%(B%)=0 � cv$(B%)="")�err(3):�:� �DdE
@� A%<6:� (p%(B%+(2+A%))<>0 � p%(B%+(A%+1))<>0) �err(4):�DdE
"!� C%>13 � C%<16 cv$(B%)=temp$
,cval%(I%)=�val(�cv$(B%),1))
6%� cval%(I%)=13 � kflag=�:I%=2:�:�
@� I%=1 c%=A%:d%=B%
J� I%
T)� cval%(1)+cval%(2)<>13 �err(5):�DdE
^�
h:
r� �convert(A%)
|� (A%<1 � A%>6):=�
�� A%=1:=33 � � A%=2:=30
�� A%=3:=27 � � A%=4:=22
�� A%=5:=17 � � A%=6:=10
�:
�� �val(V$)
�� V$="A":=1 � � V$="T":=10
�� V$="J":=11 � � V$="Q":=12
�� V$="K":=13 � =�(V$)
�:
�� �rl(ip$(I%))
�r=�(�ip$(I%),1))
�c$=�ip$(I%),1)
�� �rl$(r),c$) � =� � =�
:
� �removecard(a%,b%)
�0,2
&�cx%(b%)-2,cy%(b%)-2
0�97,126,182
:cv$(b%)="":p%(b%)=0
D� C%>13 � S%>0 tflag=�
N� a%=0 � �
X�0,-10,4,1
b�check(a%,b%)
l�repair(a%,b%)
v�
�:
�� �repair(A%,B%)
�I%=(B%-(A%+1))
�� � p%(I%) �dnG
��0,3:�cx%(I%)+86,cy%(I%)
�
�97,34,84
��cx%(I%)+86,cy%(I%)-2:�0,0
��29,cx%(I%)+124,cy%(I%)-2
��29,cx%(I%)+124,cy%(I%)+88
�� p%(I%)<>0 � p%(I%)=I%
��display2(I%)
�I%=(B%-A%):�0,3
�� � p%(I%) �
�cx%(I%),cy%(I%):�97,38,86
�0,0:�cx%(I%)-2,cy%(I%)+88
�29,cx%(I%)-2,cy%(I%)-2
 �29,cx%(I%)+40,cy%(I%)-2
*� p%(I%)<>0 � p%(I%)=I%
4�
>:
H� �check(A%,B%)
RB� (B%=2 � B%=4 � B%=7 � B%=11 � B%=16 � B%=22) � p%(B%-A%)=�:�
\G� (B%=3 � B%=6 � B%=10 � B%=15 � B%=21 � B%=28) � p%(B%-(A%+1))=�:�
f � p%(B%-A%)<>0 � p%(B%-A%)=�
p(� p%(B%-(A%+1))<>0 � p%(B%-(A%+1))=�
z�
�:
�� �display2(I%)
�pip$=�cv$(I%),1)
�card$=cv$(I%):�suits(card$)
��cx%(I%)+88,cy%(I%)+64
��5:�pip$
��cx%(I%)+88,cy%(I%)+32
��suit$:�4:�
�:
�� �err(e%):�1:*FX15,1
��1,-15,20,5:�:�
�$� e%=1 �"Row number incorrect ";
�� e%=2 �;"Invalid entry.";
	2� e%=3 �;ip$(I%);" Has already been removed.";
	+� e%=4 �;ip$(I%);" Not yet available.";
	3� e%=5 �;ip$(1);"+";ip$(2);" Do NOT total 13.";
	$ � e%=6 �;"Stock exhausted.";
	.@� e%=7 �;"Cards remaining :"''"Waste=";W%;"  Stock=";S%;" ";
	8)� e%=8 �"Col to Row input mis-match";
	B�2:�" HIT SPACE"
	L� � �=32:�
	V�3:�:e%=0:�
	`:
	j� �deal
	t%� (S%=1 � C%=16) � S%=1:�err(6):�
	~S%=S%-1
	�� S%<=0 S%=0:�err(6):�
	�!� S%=1 �removecard(0,0):�tfI
	��stock(1112,966)
	�.� (S%>=0 � S%<=23 � W%>=0 � C%=16) tflag=�
	�� tflag temp$=""
	�� W%<=0 W%=0
	�W$=W$+temp$
	�$� S%>0 � S%<24 � � tflag W%=W%+1
	�"temp$=�stock$,2):cv$(30)=temp$
	�x=920:y=790:�0,3
	��x,y:�x+120,y
	��85,x,y+176:�x+120,y+176
�85,x+120,y:�brdr(x,y)

pip$=�temp$,1):�5
�display1(temp$):�0,-10,4,1
stock$=�stock$,�(stock$)-2)
(�dispwaste(W$)
2tflag=�:�4:�
<:
F� �dispwaste(W$)
Pwaste$=�W$,2)
Z"� waste$="" � waste$=waste2$ �
dcv$(29)=waste$
nx=32:y=790:�0,3
x�x,y:�x+120,y:�85,x,y+176
��x+120,y+176:�85,x+120,y
��brdr(x,y)
�pip$=�waste$,1):�5
��display1(waste$):tflag=�
�waste2$=waste$
��
�:
�� �updatewaste
�W%=W%-1:� W%<0 W%=0
�W$=�W$,�(W$)-2)
��dispwaste(W$):�
�:
�� �checkwin
� I%:win=�:count%=28
� I%=28 � 2 �-1
!� p%(I%)>0 win=�:I%=2:�:� � �
"� W%>0 � S%>0 win=�:I%=2:�
,�0,0:�5
6�186,200:�97,914,400
@$�0,3:�400,564:�"CONGRATULATIONS"
J"� 352,460:�"You have achieved"
T%� 316,424:�"The almost imposible"
^� I%=1 � 22
h�1,-15,pi%(I%),du%(I%)
r�1,0,0,1:�
|-� 196,324:�"Would you like to play again"
�� 512,264:�"(Y/N)";
�	�yn:�
�:
�� �quit:� I%
�� I%=28 �1 �-1
�� p%(I%)=0 count%=count%-1
�
�:�22,6,7
�v�'''"Bad Luck...."'"You have been unable to complete"'"Game ";game%:�''"There are ";W%;" cards left in the waste."
�$�10);S%;" cards left in stock."
�3�6)"and ";count%;" cards left in the pyramid."
�7�''"Better luck next time."''"Play again ?  (Y/N)";
�	�yn:�
�:
	� �yn
� G=�"YyNn",�):�G>0 � G<5
l� G<3 �22,4,23;8202;0;0;0;:�DF@ � �''"Thanks for playing PYRAMID PATIENCE."'"Next time you'll do it!":�
&:
0� �peter
:$�:X%=7:�12,1)"PYRAMID PATIENCE"
D>�10,2)"===================="�9,3)"Author: Leslie J. Fowl"
N(�'''"            SHUFFLE OPTIONS:"''
X)�''"        1) Straight Shuffle only"
b-�''"    2)  Shuffle and pairs separation"
l(�''"         3) Double Shuffle only"
v0�''" 4) Double Shuffle and pairs separation"
�1�'''"Pairs separation applies to stock only."
� �'''"Enter option number :";
�'�:G%=�-48:� G%>0 � G%<5:�22,29);G%
�� G%=1 SH%=�:PP%=�
�� G%=2 SH%=�:PP%=�
�� G%=3 SH%=�:PP%=�
�� G%=4 SH%=�:PP%=�
��28,29)"Shuffling...";:�
�:
�\��loc:�0:*KEY0 *TAPE|MFORI%=0TO TOP-PAGE STEP4:I%!&E00=I%!PAGE:N.|MPAGE=&E00|MOLD|MRUN|M
�*FX138 0 128
��
�
00000000  0d 00 0a 20 f4 20 20 20  20 20 50 79 72 61 6d 69  |... .     Pyrami|
00000010  64 20 50 61 74 69 65 6e  63 65 20 28 42 42 43 29  |d Patience (BBC)|
00000020  0d 00 14 13 e7 90 3c 3e  26 45 30 30 20 8c 20 f2  |......<>&E00 . .|
00000030  6c 6f 63 0d 00 1e 16 eb  34 3a ef 32 33 3b 38 32  |loc.....4:.23;82|
00000040  30 32 3b 30 3b 30 3b 30  3b 0d 00 28 23 de 63 78  |02;0;0;0;..(#.cx|
00000050  25 28 33 30 29 2c 63 79  25 28 33 30 29 2c 70 25  |%(30),cy%(30),p%|
00000060  28 33 30 29 2c 63 76 24  28 33 30 29 0d 00 32 24  |(30),cv$(30)..2$|
00000070  de 69 70 24 28 32 29 2c  63 76 61 6c 25 28 32 29  |.ip$(2),cval%(2)|
00000080  2c 70 69 25 28 32 32 29  2c 64 75 25 28 32 32 29  |,pi%(22),du%(22)|
00000090  0d 00 3c 13 de 72 6c 24  28 36 29 3a 67 61 6d 65  |..<..rl$(6):game|
000000a0  25 3d 30 0d 00 46 0c db  3a f2 70 65 74 65 72 0d  |%=0..F..:.peter.|
000000b0  00 50 12 f2 69 6e 69 74  3a f2 73 68 75 66 66 6c  |.P..init:.shuffl|
000000c0  65 0d 00 5a 12 e7 20 53  48 25 20 f2 73 68 75 66  |e..Z.. SH% .shuf|
000000d0  66 6c 65 0d 00 64 12 74  65 6d 70 24 3d 61 70 65  |fle..d.temp$=ape|
000000e0  78 24 2b 66 24 0d 00 6e  12 ef 32 32 2c 31 32 39  |x$+f$..n..22,129|
000000f0  3a f2 74 61 62 6c 65 0d  00 78 1a f2 74 61 62 6c  |:.table..x..tabl|
00000100  65 75 3a 74 65 6d 70 24  3d 22 22 3a f2 64 65 61  |eu:temp$="":.dea|
00000110  6c 0d 00 82 0b f2 70 6c  61 79 3a db 0d 00 8c 12  |l.....play:.....|
00000120  e7 20 6b 66 6c 61 67 20  e5 20 8d 74 6a 40 0d 00  |. kflag . .tj@..|
00000130  96 16 f2 72 65 6d 6f 76  65 63 61 72 64 28 63 25  |...removecard(c%|
00000140  2c 64 25 29 0d 00 a0 16  e7 20 73 74 20 80 20 77  |,d%)..... st . w|
00000150  61 20 74 65 6d 70 24 3d  22 22 0d 00 aa 16 f2 72  |a temp$="".....r|
00000160  65 6d 6f 76 65 63 61 72  64 28 41 25 2c 42 25 29  |emovecard(A%,B%)|
00000170  0d 00 b4 16 e7 20 73 74  20 74 66 6c 61 67 3d b9  |..... st tflag=.|
00000180  3a f2 64 65 61 6c 0d 00  be 18 e7 20 77 61 20 f2  |:.deal..... wa .|
00000190  75 70 64 61 74 65 77 61  73 74 65 3a ef 34 0d 00  |updatewaste:.4..|
000001a0  c8 0d f2 63 68 65 63 6b  77 69 6e 0d 00 d2 11 e7  |...checkwin.....|
000001b0  20 77 69 6e 3d a3 20 e5  8d 74 42 40 0d 00 dc 05  | win=. ..tB@....|
000001c0  e0 0d 00 e6 05 3a 0d 00  f0 11 dd 20 f2 74 61 62  |.....:..... .tab|
000001d0  6c 65 75 3a 72 3d 30 0d  00 fa 21 f5 20 58 25 3d  |leu:r=0...!. X%=|
000001e0  58 25 2d 38 38 3a 59 25  3d 59 25 2d 39 36 3a 78  |X%-88:Y%=Y%-96:x|
000001f0  3d 58 25 3a 79 3d 59 25  0d 01 04 25 e3 78 3d 78  |=X%:y=Y%...%.x=x|
00000200  20 b8 20 58 25 2b 73 74  65 70 25 2a 72 20 88 20  | . X%+step%*r . |
00000210  73 74 65 70 25 3a 63 25  3d 63 25 2b 31 0d 01 0e  |step%:c%=c%+1...|
00000220  21 63 78 25 28 63 25 29  3d 78 3a 63 79 25 28 63  |!cx%(c%)=x:cy%(c|
00000230  25 29 3d 79 3a 70 25 28  63 25 29 3d 63 25 0d 01  |%)=y:p%(c%)=c%..|
00000240  18 13 f2 62 72 64 72 28  78 2c 79 29 3a e6 30 2c  |...brdr(x,y):.0,|
00000250  33 0d 01 22 19 ef 35 3a  ec 78 2c 79 3a f0 39 37  |3.."..5:.x,y:.97|
00000260  2c 31 32 30 2c 73 74 65  70 25 0d 01 2c 1a f2 64  |,120,step%..,..d|
00000270  69 73 70 6c 61 79 28 78  2c 79 2c 74 65 6d 70 24  |isplay(x,y,temp$|
00000280  2c 63 25 29 0d 01 36 1c  74 65 6d 70 24 3d c2 74  |,c%)..6.temp$=.t|
00000290  65 6d 70 24 2c a9 28 74  65 6d 70 24 29 2d 32 29  |emp$,.(temp$)-2)|
000002a0  0d 01 40 1a ed 3a 72 3d  72 2b 31 3a fd 20 72 3d  |..@..:r=r+1:. r=|
000002b0  37 3a 63 61 72 64 24 3d  22 22 0d 01 4a 05 e1 0d  |7:card$=""..J...|
000002c0  01 54 05 3a 0d 01 5e 15  dd 20 f2 62 72 64 72 28  |.T.:..^.. .brdr(|
000002d0  78 2c 79 29 3a e6 30 2c  30 0d 01 68 1a ec 78 2d  |x,y):.0,0..h..x-|
000002e0  32 2c 79 2d 32 3a f0 32  39 2c 78 2d 32 2c 79 2b  |2,y-2:.29,x-2,y+|
000002f0  31 38 30 0d 01 72 21 f0  32 39 2c 78 2b 31 32 34  |180..r!.29,x+124|
00000300  2c 79 2b 31 38 30 3a f0  32 39 2c 78 2b 31 32 34  |,y+180:.29,x+124|
00000310  2c 79 2d 32 0d 01 7c 11  f0 32 39 2c 78 2d 32 2c  |,y-2..|..29,x-2,|
00000320  79 2d 32 3a e1 0d 01 86  05 3a 0d 01 90 1d dd f2  |y-2:.....:......|
00000330  74 61 62 6c 65 3a ef 35  2c 32 33 3b 38 32 30 32  |table:.5,23;8202|
00000340  3b 30 3b 30 3b 30 3b 0d  01 9a 26 ef 32 38 2c 30  |;0;0;0;...&.28,0|
00000350  2c 33 31 2c 33 39 2c 32  39 2c 32 34 2c 30 3b 31  |,31,39,29,24,0;1|
00000360  30 30 3b 31 32 37 39 3b  31 30 32 33 3b 0d 01 a4  |00;1279;1023;...|
00000370  1a ef 31 39 2c 32 2c 32  2c 30 2c 30 2c 30 3a e6  |..19,2,2,0,0,0:.|
00000380  30 2c 31 33 30 3a da 0d  01 ae 0f db 3a e6 30 2c  |0,130:......:.0,|
00000390  30 3a 4e 3d 36 34 0d 01  b8 18 ec 35 32 34 2c 31  |0:N=64.....524,1|
000003a0  30 30 38 3a f1 22 50 59  52 41 4d 49 44 22 0d 01  |008:."PYRAMID"..|
000003b0  c2 18 ec 35 30 38 2c 39  36 38 3a f1 22 50 41 54  |...508,968:."PAT|
000003c0  49 45 4e 43 45 22 0d 01  cc 1d e3 20 78 3d 31 30  |IENCE"..... x=10|
000003d0  34 20 b8 20 31 32 32 38  20 88 20 38 38 3a 4e 3d  |4 . 1228 . 88:N=|
000003e0  4e 2b 31 0d 01 d6 14 ec  20 78 2c 31 34 30 3a f1  |N+1..... x,140:.|
000003f0  3b bd 28 4e 29 3a ed 0d  01 e0 1a 4e 3d 30 3a e3  |;.(N):.....N=0:.|
00000400  20 79 3d 37 35 36 20 b8  20 32 37 36 20 88 2d 39  | y=756 . 276 .-9|
00000410  36 0d 01 ea 20 4e 3d 4e  2b 31 3a ec 38 2c 79 3a  |6... N=N+1:.8,y:|
00000420  f1 3b 4e 3a ec 31 32 34  34 2c 79 3a f1 3b 4e 3a  |.;N:.1244,y:.;N:|
00000430  ed 0d 01 f4 42 ec 38 2c  31 30 31 36 3a df 31 38  |....B.8,1016:.18|
00000440  34 2c 31 30 31 36 3a df  31 38 34 2c 37 36 38 3a  |4,1016:.184,768:|
00000450  df 38 2c 37 36 38 3a df  38 2c 31 30 31 36 3a ec  |.8,768:.8,1016:.|
00000460  31 36 2c 31 30 30 38 3a  ef 35 3a f1 22 57 61 73  |16,1008:.5:."Was|
00000470  74 65 22 0d 01 fe 48 ec  38 39 34 2c 31 30 31 36  |te"...H.894,1016|
00000480  3a df 31 32 37 30 2c 31  30 31 36 3a df 31 32 37  |:.1270,1016:.127|
00000490  30 2c 37 36 38 3a df 38  39 34 2c 37 36 38 3a df  |0,768:.894,768:.|
000004a0  38 39 34 2c 31 30 31 36  3a ec 39 38 36 2c 31 30  |894,1016:.986,10|
000004b0  30 38 3a f1 22 53 74 6f  63 6b 22 0d 02 08 1c ec  |08:."Stock".....|
000004c0  32 31 36 2c 31 30 30 38  3a f1 22 47 61 6d 65 20  |216,1008:."Game |
000004d0  22 3b 67 61 6d 65 25 0d  02 12 05 e1 0d 02 1c 05  |";game%.........|
000004e0  3a 0d 02 26 13 dd 20 f2  73 75 69 74 73 28 63 61  |:..&.. .suits(ca|
000004f0  72 64 24 29 0d 02 30 2d  e7 20 c2 63 61 72 64 24  |rd$)..0-. .card$|
00000500  2c 31 29 3d 22 48 22 8c  20 73 75 69 74 24 3d 48  |,1)="H". suit$=H|
00000510  24 3a 73 75 69 74 32 24  3d 48 32 24 3a e6 30 2c  |$:suit2$=H2$:.0,|
00000520  31 0d 02 3a 2d e7 20 c2  63 61 72 64 24 2c 31 29  |1..:-. .card$,1)|
00000530  3d 22 44 22 8c 20 73 75  69 74 24 3d 44 24 3a 73  |="D". suit$=D$:s|
00000540  75 69 74 32 24 3d 44 32  24 3a e6 30 2c 31 0d 02  |uit2$=D2$:.0,1..|
00000550  44 2d e7 20 c2 63 61 72  64 24 2c 31 29 3d 22 43  |D-. .card$,1)="C|
00000560  22 8c 20 73 75 69 74 24  3d 43 24 3a 73 75 69 74  |". suit$=C$:suit|
00000570  32 24 3d 43 32 24 3a e6  30 2c 30 0d 02 4e 2d e7  |2$=C2$:.0,0..N-.|
00000580  20 c2 63 61 72 64 24 2c  31 29 3d 22 53 22 8c 20  | .card$,1)="S". |
00000590  73 75 69 74 24 3d 53 24  3a 73 75 69 74 32 24 3d  |suit$=S$:suit2$=|
000005a0  53 32 24 3a e6 30 2c 30  0d 02 58 05 e1 0d 02 62  |S2$:.0,0..X....b|
000005b0  05 3a 0d 02 6c 19 dd 20  f2 64 69 73 70 6c 61 79  |.:..l.. .display|
000005c0  28 78 2c 79 2c 63 24 2c  63 25 29 0d 02 76 19 63  |(x,y,c$,c%)..v.c|
000005d0  61 72 64 24 3d 22 22 3a  63 61 72 64 24 3d c0 63  |ard$="":card$=.c|
000005e0  24 2c 32 29 0d 02 80 11  63 76 24 28 63 25 29 3d  |$,2)....cv$(c%)=|
000005f0  63 61 72 64 24 0d 02 8a  14 70 69 70 24 3d c0 63  |card$....pip$=.c|
00000600  76 24 28 63 25 29 2c 31  29 0d 02 94 16 dd 20 f2  |v$(c%),1)..... .|
00000610  64 69 73 70 6c 61 79 31  28 63 61 72 64 24 29 0d  |display1(card$).|
00000620  02 9e 10 e7 20 63 61 72  64 24 3d 22 22 20 e1 0d  |.... card$="" ..|
00000630  02 a8 11 f2 73 75 69 74  73 28 63 61 72 64 24 29  |....suits(card$)|
00000640  0d 02 b2 14 ec 78 2b 32  2c 79 2b 31 37 32 3a f1  |.....x+2,y+172:.|
00000650  70 69 70 24 0d 02 bc 15  ec 78 2b 32 2c 79 2b 31  |pip$.....x+2,y+1|
00000660  34 30 3a f1 73 75 69 74  24 0d 02 c6 17 ec 78 2b  |40:.suit$.....x+|
00000670  33 32 2c 79 2b 31 33 32  3a f1 73 75 69 74 32 24  |32,y+132:.suit2$|
00000680  0d 02 d0 14 ec 78 2b 38  38 2c 79 2b 36 34 3a f1  |.....x+88,y+64:.|
00000690  70 69 70 24 0d 02 da 15  ec 78 2b 38 38 2c 79 2b  |pip$.....x+88,y+|
000006a0  33 32 3a f1 73 75 69 74  24 0d 02 e4 10 d4 30 2c  |32:.suit$.....0,|
000006b0  2d 31 30 2c 34 2c 31 3a  e1 0d 02 ee 05 3a 0d 02  |-10,4,1:.....:..|
000006c0  f8 16 dd 20 f2 73 74 6f  63 6b 28 78 2c 79 29 3a  |... .stock(x,y):|
000006d0  e6 30 2c 33 0d 03 02 14  e7 20 53 25 3d 30 20 74  |.0,3..... S%=0 t|
000006e0  66 6c 61 67 3d a3 3a e1  0d 03 0c 11 ec 78 2c 79  |flag=.:......x,y|
000006f0  3a ec 78 2c 79 2d 31 37  32 0d 03 16 0f f0 38 35  |:.x,y-172.....85|
00000700  2c 78 2b 31 32 30 2c 79  0d 03 20 1c ec 78 2b 31  |,x+120,y.. ..x+1|
00000710  32 30 2c 79 2d 31 37 32  3a f0 38 35 2c 78 2c 79  |20,y-172:.85,x,y|
00000720  2d 31 37 32 0d 03 2a 1a  ef 35 3a ec 31 31 32 34  |-172..*..5:.1124|
00000730  2c 39 35 38 3a e6 30 2c  31 3a f1 53 42 24 0d 03  |,958:.0,1:.SB$..|
00000740  34 14 f2 62 72 64 72 28  78 2c 79 2d 31 37 36 29  |4..brdr(x,y-176)|
00000750  3a e1 0d 03 3e 05 3a 0d  03 48 0e dd 20 f2 73 68  |:...>.:..H.. .sh|
00000760  75 66 66 6c 65 0d 03 52  18 66 24 3d 22 22 3a 44  |uffle..R.f$="":D|
00000770  25 3d 35 31 3a e3 49 25  3d 31 b8 35 31 0d 03 5c  |%=51:.I%=1.51..\|
00000780  16 41 25 3d a8 28 b3 28  b3 28 31 29 29 2a 44 25  |.A%=.(.(.(1))*D%|
00000790  2b 31 29 0d 03 66 1a 66  24 3d 66 24 2b c1 74 65  |+1)..f.f$=f$+.te|
000007a0  6d 70 24 2c 32 2a 41 25  2d 31 2c 32 29 0d 03 70  |mp$,2*A%-1,2)..p|
000007b0  17 4c 24 3d c0 74 65 6d  70 24 2c 28 41 25 2d 31  |.L$=.temp$,(A%-1|
000007c0  29 2a 32 29 0d 03 7a 20  52 24 3d c2 74 65 6d 70  |)*2)..z R$=.temp|
000007d0  24 2c 28 a9 28 74 65 6d  70 24 29 2f 32 2d 41 25  |$,(.(temp$)/2-A%|
000007e0  29 2a 32 29 0d 03 84 17  74 65 6d 70 24 3d 4c 24  |)*2)....temp$=L$|
000007f0  2b 52 24 3a 44 25 3d 44  25 2d 31 0d 03 8e 11 ed  |+R$:D%=D%-1.....|
00000800  20 49 25 3a 74 65 6d 70  24 3d 66 24 0d 03 98 15  | I%:temp$=f$....|
00000810  73 74 6f 63 6b 24 3d c2  74 65 6d 70 24 2c 34 38  |stock$=.temp$,48|
00000820  29 0d 03 a2 0d e7 20 50  50 25 3d a3 20 e1 0d 03  |)..... PP%=. ...|
00000830  ac 1c e3 20 49 25 3d 31  20 b8 20 a9 28 73 74 6f  |... I%=1 . .(sto|
00000840  63 6b 24 29 2d 31 20 88  20 32 0d 03 b6 77 e7 20  |ck$)-1 . 2...w. |
00000850  c1 73 74 6f 63 6b 24 2c  49 25 2c 31 29 3d c1 73  |.stock$,I%,1)=.s|
00000860  74 6f 63 6b 24 2c 49 25  2b 32 2c 31 29 20 8c 20  |tock$,I%+2,1) . |
00000870  73 74 6f 63 6b 24 3d 73  74 6f 63 6b 24 2b c1 73  |stock$=stock$+.s|
00000880  74 6f 63 6b 24 2c 49 25  2b 32 2c 32 29 3a 73 74  |tock$,I%+2,2):st|
00000890  6f 63 6b 24 3d c0 73 74  6f 63 6b 24 2c 49 25 2b  |ock$=.stock$,I%+|
000008a0  31 29 2b c1 73 74 6f 63  6b 24 2c 49 25 2b 34 2c  |1)+.stock$,I%+4,|
000008b0  a9 28 73 74 6f 63 6b 24  29 2d 28 49 25 2b 32 29  |.(stock$)-(I%+2)|
000008c0  29 0d 03 c0 09 ed 20 8b  20 ed 0d 03 ca 05 e1 0d  |)..... . .......|
000008d0  03 d4 05 3a 0d 03 de 0b  dd 20 f2 69 6e 69 74 0d  |...:..... .init.|
000008e0  03 e8 24 53 25 3d 32 35  3a 57 25 3d 30 3a 74 66  |..$S%=25:W%=0:tf|
000008f0  6c 61 67 3d a3 3a 67 61  6d 65 25 3d 67 61 6d 65  |lag=.:game%=game|
00000900  25 2b 31 0d 03 f2 1a 63  78 25 28 30 29 3d 31 31  |%+1....cx%(0)=11|
00000910  31 32 3a 63 79 25 28 30  29 3d 37 39 30 0d 03 fc  |12:cy%(0)=790...|
00000920  1a 63 78 25 28 32 39 29  3d 33 32 3a 63 79 25 28  |.cx%(29)=32:cy%(|
00000930  32 39 29 3d 37 39 30 0d  04 06 1b 63 78 25 28 33  |29)=790....cx%(3|
00000940  30 29 3d 39 32 30 3a 63  79 25 28 33 30 29 3d 37  |0)=920:cy%(30)=7|
00000950  39 30 0d 04 10 29 70 61  63 6b 24 3d 22 41 32 33  |90...)pack$="A23|
00000960  34 35 36 37 38 39 54 4a  51 4b 22 3a 77 61 73 74  |456789TJQK":wast|
00000970  65 24 3d 22 22 3a 57 24  3d 22 22 0d 04 1a 27 6b  |e$="":W$=""...'k|
00000980  65 79 24 3d 22 41 42 43  44 45 46 47 48 49 4a 4b  |ey$="ABCDEFGHIJK|
00000990  4c 4d 57 53 40 54 51 22  3a 73 74 6f 63 6b 24 3d  |LMWS@TQ":stock$=|
000009a0  22 22 0d 04 24 28 73 75  69 74 24 3d 22 48 43 44  |""..$(suit$="HCD|
000009b0  53 22 3a 58 25 3d 36 36  38 3a 59 25 3d 38 33 32  |S":X%=668:Y%=832|
000009c0  3a 73 74 65 70 25 3d 31  37 36 0d 04 2e 26 43 24  |:step%=176...&C$|
000009d0  3d 22 22 3a 61 70 65 78  24 3d 22 22 3a 74 65 6d  |="":apex$="":tem|
000009e0  70 24 3d 22 22 3a 77 61  73 74 65 32 24 3d 22 22  |p$="":waste2$=""|
000009f0  0d 04 38 1c 72 6c 24 28  31 29 3d 22 46 48 22 3a  |..8.rl$(1)="FH":|
00000a00  72 6c 24 28 32 29 3d 22  45 47 49 22 0d 04 42 20  |rl$(2)="EGI"..B |
00000a10  72 6c 24 28 33 29 3d 22  44 46 48 4a 22 3a 72 6c  |rl$(3)="DFHJ":rl|
00000a20  24 28 34 29 3d 22 43 45  47 49 4b 22 0d 04 4c 24  |$(4)="CEGIK"..L$|
00000a30  72 6c 24 28 35 29 3d 22  42 44 46 48 4a 4c 22 3a  |rl$(5)="BDFHJL":|
00000a40  72 6c 24 28 36 29 3d 22  41 43 45 47 49 4b 4d 22  |rl$(6)="ACEGIKM"|
00000a50  0d 04 56 23 63 6f 75 6e  74 25 3d 32 38 3a 72 25  |..V#count%=28:r%|
00000a60  3d 30 3a 63 25 3d 30 3a  53 48 25 3d b9 3a 50 50  |=0:c%=0:SH%=.:PP|
00000a70  25 3d b9 0d 04 60 1a e3  20 49 25 3d 31 20 b8 20  |%=...`.. I%=1 . |
00000a80  31 33 3a e3 20 4a 25 3d  31 20 b8 20 34 0d 04 6a  |13:. J%=1 . 4..j|
00000a90  29 74 65 6d 70 24 3d 74  65 6d 70 24 2b c1 70 61  |)temp$=temp$+.pa|
00000aa0  63 6b 24 2c 49 25 2c 31  29 2b c1 73 75 69 74 24  |ck$,I%,1)+.suit$|
00000ab0  2c 4a 25 2c 31 29 0d 04  74 0d ed 20 4a 25 3a ed  |,J%,1)..t.. J%:.|
00000ac0  20 49 25 0d 04 7e 27 61  70 65 78 24 3d c2 70 61  | I%..~'apex$=.pa|
00000ad0  63 6b 24 2c 31 29 2b 28  c1 73 75 69 74 24 2c a8  |ck$,1)+(.suit$,.|
00000ae0  28 b3 28 34 29 29 2c 31  29 29 0d 04 88 18 e3 20  |(.(4)),1))..... |
00000af0  6b 25 3d 31 20 b8 20 a9  28 74 65 6d 70 24 29 20  |k%=1 . .(temp$) |
00000b00  88 32 0d 04 92 33 e7 20  c1 74 65 6d 70 24 2c 6b  |.2...3. .temp$,k|
00000b10  25 2c 32 29 3d 61 70 65  78 24 20 8c 20 ed 20 8b  |%,2)=apex$ . . .|
00000b20  20 43 24 3d 43 24 2b c1  74 65 6d 70 24 2c 6b 25  | C$=C$+.temp$,k%|
00000b30  2c 32 29 3a ed 0d 04 9c  2b 43 24 3d 61 70 65 78  |,2):....+C$=apex|
00000b40  24 2b 43 24 3a 74 65 6d  70 24 3d 22 22 3a 74 65  |$+C$:temp$="":te|
00000b50  6d 70 24 3d c2 43 24 2c  a9 28 43 24 29 2d 32 29  |mp$=.C$,.(C$)-2)|
00000b60  0d 04 a6 17 44 24 3d bd  28 32 33 31 29 3a 48 24  |....D$=.(231):H$|
00000b70  3d bd 28 32 33 32 29 0d  04 b0 17 43 24 3d bd 28  |=.(232)....C$=.(|
00000b80  32 33 33 29 3a 53 24 3d  bd 28 32 33 34 29 0d 04  |233):S$=.(234)..|
00000b90  ba 17 6e 6c 24 3d bd 28  38 29 2b bd 28 38 29 2b  |..nl$=.(8)+.(8)+|
00000ba0  bd 28 31 30 29 0d 04 c4  27 44 32 24 3d bd 28 32  |.(10)...'D2$=.(2|
00000bb0  33 35 29 2b bd 28 32 33  36 29 2b 6e 6c 24 2b bd  |35)+.(236)+nl$+.|
00000bc0  28 32 33 37 29 2b bd 28  32 33 38 29 0d 04 ce 27  |(237)+.(238)...'|
00000bd0  48 32 24 3d bd 28 32 33  39 29 2b bd 28 32 34 30  |H2$=.(239)+.(240|
00000be0  29 2b 6e 6c 24 2b bd 28  32 34 31 29 2b bd 28 32  |)+nl$+.(241)+.(2|
00000bf0  34 32 29 0d 04 d8 27 43  32 24 3d bd 28 32 34 33  |42)...'C2$=.(243|
00000c00  29 2b bd 28 32 34 34 29  2b 6e 6c 24 2b bd 28 32  |)+.(244)+nl$+.(2|
00000c10  34 35 29 2b bd 28 32 34  36 29 0d 04 e2 27 53 32  |45)+.(246)...'S2|
00000c20  24 3d bd 28 32 34 37 29  2b bd 28 32 34 38 29 2b  |$=.(247)+.(248)+|
00000c30  6e 6c 24 2b bd 28 32 34  39 29 2b bd 28 32 35 30  |nl$+.(249)+.(250|
00000c40  29 0d 04 ec 2a 53 42 24  3d 22 22 3a 73 62 24 3d  |)...*SB$="":sb$=|
00000c50  bd 32 33 30 2b bd 32 33  30 2b bd 32 33 30 2b bd  |.230+.230+.230+.|
00000c60  38 2b bd 38 2b bd 38 2b  bd 31 30 0d 04 f6 1a e3  |8+.8+.8+.10.....|
00000c70  20 49 25 3d 31 b8 35 3a  53 42 24 3d 53 42 24 2b  | I%=1.5:SB$=SB$+|
00000c80  73 62 24 3a ed 0d 05 00  05 f7 0d 05 0a 12 e3 20  |sb$:........... |
00000c90  49 25 3d 31 b8 32 32 3a  f3 4e 2c 54 0d 05 14 19  |I%=1.22:.N,T....|
00000ca0  70 69 25 28 49 25 29 3d  4e 3a 64 75 25 28 49 25  |pi%(I%)=N:du%(I%|
00000cb0  29 3d 54 3a ed 0d 05 1e  23 dc 31 31 37 2c 35 2c  |)=T:....#.117,5,|
00000cc0  31 32 39 2c 35 2c 31 32  39 2c 31 30 2c 31 31 37  |129,5,129,10,117|
00000cd0  2c 35 2c 31 30 39 2c 35  0d 05 28 23 dc 31 30 31  |,5,109,5..(#.101|
00000ce0  2c 31 30 2c 31 30 39 2c  35 2c 31 31 37 2c 35 2c  |,10,109,5,117,5,|
00000cf0  31 32 39 2c 35 2c 31 31  37 2c 35 0d 05 32 24 dc  |129,5,117,5..2$.|
00000d00  31 30 39 2c 32 30 2c 31  31 37 2c 35 2c 31 32 39  |109,20,117,5,129|
00000d10  2c 35 2c 31 32 39 2c 31  30 2c 31 31 37 2c 35 0d  |,5,129,10,117,5.|
00000d20  05 3c 30 dc 31 30 39 2c  35 2c 31 30 31 2c 31 30  |.<0.109,5,101,10|
00000d30  2c 31 30 39 2c 35 2c 31  31 37 2c 35 2c 31 30 39  |,109,5,117,5,109|
00000d40  2c 35 2c 31 30 31 2c 35  2c 31 30 31 2c 32 30 0d  |,5,101,5,101,20.|
00000d50  05 46 05 e1 0d 05 50 05  3a 0d 05 5a 0b dd 20 f2  |.F....P.:..Z.. .|
00000d60  70 6c 61 79 0d 05 64 17  db 3a 43 25 3d 30 3a 49  |play..d..:C%=0:I|
00000d70  25 3d 30 3a 2a 46 58 31  35 2c 31 0d 05 6e 15 77  |%=0:*FX15,1..n.w|
00000d80  61 3d a3 3a 73 74 3d a3  3a 6b 66 6c 61 67 3d a3  |a=.:st=.:kflag=.|
00000d90  0d 05 78 0c e3 20 49 25  3d 31 b8 32 0d 05 82 3a  |..x.. I%=1.2...:|
00000da0  f1 22 45 6e 74 65 72 20  63 61 72 64 20 23 22 3b  |."Enter card #";|
00000db0  49 25 3b 3a e7 20 28 53  25 3c 32 20 80 20 49 25  |I%;:. (S%<2 . I%|
00000dc0  3c 32 29 20 f1 3b 22 20  6f 72 20 51 20 74 6f 20  |<2) .;" or Q to |
00000dd0  71 75 69 74 22 3b 0d 05  8c 0f e8 22 20 22 69 70  |quit";....." "ip|
00000de0  24 28 49 25 29 0d 05 96  19 43 25 3d a7 6b 65 79  |$(I%)....C%=.key|
00000df0  24 2c c2 69 70 24 28 49  25 29 2c 31 29 29 0d 05  |$,.ip$(I%),1))..|
00000e00  a0 1f e7 20 43 25 3d 30  20 f2 65 72 72 28 32 29  |... C%=0 .err(2)|
00000e10  3a 49 25 3d 32 3a ed 3a  e5 8d 44 64 45 0d 05 aa  |:I%=2:.:..DdE...|
00000e20  1e e7 20 43 25 3d 31 36  20 f2 64 65 61 6c 3a 49  |.. C%=16 .deal:I|
00000e30  25 3d 32 3a ed 3a e5 8d  44 64 45 0d 05 b4 20 e7  |%=2:.:..DdE... .|
00000e40  20 43 25 3d 31 37 20 f2  65 72 72 28 37 29 3a 49  | C%=17 .err(7):I|
00000e50  25 3d 32 3a ed 3a e5 8d  44 64 45 0d 05 be 1a e7  |%=2:.:..DdE.....|
00000e60  20 43 25 3d 31 38 20 49  25 3d 32 3a ed 3a f2 71  | C%=18 I%=2:.:.q|
00000e70  75 69 74 3a e1 0d 05 c8  21 e7 20 43 25 3d 31 34  |uit:....!. C%=14|
00000e80  20 42 25 3d 32 39 3a 41  25 3d 30 3a 77 61 3d b9  | B%=29:A%=0:wa=.|
00000e90  3a e5 8d 54 6c 46 0d 05  d2 21 e7 20 43 25 3d 31  |:..TlF...!. C%=1|
00000ea0  35 20 42 25 3d 33 30 3a  41 25 3d 30 3a 73 74 3d  |5 B%=30:A%=0:st=|
00000eb0  b9 3a e5 8d 54 6c 46 0d  05 dc 15 41 25 3d bb 28  |.:..TlF....A%=.(|
00000ec0  c0 69 70 24 28 49 25 29  2c 31 29 29 0d 05 e6 15  |.ip$(I%),1))....|
00000ed0  72 6f 77 25 3d a4 63 6f  6e 76 65 72 74 28 41 25  |row%=.convert(A%|
00000ee0  29 0d 05 f0 1a e7 20 72  6f 77 25 3d 30 20 f2 65  |)..... row%=0 .e|
00000ef0  72 72 28 31 29 3a e5 8d  44 64 45 0d 05 fa 2b e7  |rr(1):..DdE...+.|
00000f00  20 ac 20 a4 72 6c 28 69  70 24 28 49 25 29 29 20  | . .rl(ip$(I%)) |
00000f10  8c 20 f2 65 72 72 28 38  29 3a 49 25 3d 32 3a ed  |. .err(8):I%=2:.|
00000f20  3a e5 8d 44 64 45 0d 06  04 1c 42 25 3d 97 28 c2  |:..DdE....B%=.(.|
00000f30  69 70 24 28 49 25 29 2c  31 29 29 2f 32 2d 72 6f  |ip$(I%),1))/2-ro|
00000f40  77 25 0d 06 0e 2d e7 20  28 70 25 28 42 25 29 3d  |w%...-. (p%(B%)=|
00000f50  30 20 80 20 63 76 24 28  42 25 29 3d 22 22 29 f2  |0 . cv$(B%)="").|
00000f60  65 72 72 28 33 29 3a db  3a e5 20 8d 44 64 45 0d  |err(3):.:. .DdE.|
00000f70  06 18 40 e7 20 41 25 3c  36 3a e7 20 28 70 25 28  |..@. A%<6:. (p%(|
00000f80  42 25 2b 28 32 2b 41 25  29 29 3c 3e 30 20 84 20  |B%+(2+A%))<>0 . |
00000f90  70 25 28 42 25 2b 28 41  25 2b 31 29 29 3c 3e 30  |p%(B%+(A%+1))<>0|
00000fa0  29 20 f2 65 72 72 28 34  29 3a e5 8d 44 64 45 0d  |) .err(4):..DdE.|
00000fb0  06 22 21 e7 20 43 25 3e  31 33 20 80 20 43 25 3c  |."!. C%>13 . C%<|
00000fc0  31 36 20 63 76 24 28 42  25 29 3d 74 65 6d 70 24  |16 cv$(B%)=temp$|
00000fd0  0d 06 2c 1f 63 76 61 6c  25 28 49 25 29 3d a4 76  |..,.cval%(I%)=.v|
00000fe0  61 6c 28 c0 63 76 24 28  42 25 29 2c 31 29 29 0d  |al(.cv$(B%),1)).|
00000ff0  06 36 25 e7 20 63 76 61  6c 25 28 49 25 29 3d 31  |.6%. cval%(I%)=1|
00001000  33 20 8c 20 6b 66 6c 61  67 3d b9 3a 49 25 3d 32  |3 . kflag=.:I%=2|
00001010  3a ed 3a e1 0d 06 40 16  e7 20 49 25 3d 31 20 63  |:.:...@.. I%=1 c|
00001020  25 3d 41 25 3a 64 25 3d  42 25 0d 06 4a 08 ed 20  |%=A%:d%=B%..J.. |
00001030  49 25 0d 06 54 29 e7 20  63 76 61 6c 25 28 31 29  |I%..T). cval%(1)|
00001040  2b 63 76 61 6c 25 28 32  29 3c 3e 31 33 20 f2 65  |+cval%(2)<>13 .e|
00001050  72 72 28 35 29 3a e5 8d  44 64 45 0d 06 5e 05 e1  |rr(5):..DdE..^..|
00001060  0d 06 68 05 3a 0d 06 72  12 dd 20 a4 63 6f 6e 76  |..h.:..r.. .conv|
00001070  65 72 74 28 41 25 29 0d  06 7c 16 e7 20 28 41 25  |ert(A%)..|.. (A%|
00001080  3c 31 20 84 20 41 25 3e  36 29 3a 3d a3 0d 06 86  |<1 . A%>6):=....|
00001090  1b e7 20 41 25 3d 31 3a  3d 33 33 20 8b 20 e7 20  |.. A%=1:=33 . . |
000010a0  41 25 3d 32 3a 3d 33 30  0d 06 90 1b e7 20 41 25  |A%=2:=30..... A%|
000010b0  3d 33 3a 3d 32 37 20 8b  20 e7 20 41 25 3d 34 3a  |=3:=27 . . A%=4:|
000010c0  3d 32 32 0d 06 9a 1b e7  20 41 25 3d 35 3a 3d 31  |=22..... A%=5:=1|
000010d0  37 20 8b 20 e7 20 41 25  3d 36 3a 3d 31 30 0d 06  |7 . . A%=6:=10..|
000010e0  a4 05 3a 0d 06 ae 0e dd  20 a4 76 61 6c 28 56 24  |..:..... .val(V$|
000010f0  29 0d 06 b8 1e e7 20 56  24 3d 22 41 22 3a 3d 31  |)..... V$="A":=1|
00001100  20 8b 20 e7 20 56 24 3d  22 54 22 3a 3d 31 30 0d  | . . V$="T":=10.|
00001110  06 c2 1f e7 20 56 24 3d  22 4a 22 3a 3d 31 31 20  |.... V$="J":=11 |
00001120  8b 20 e7 20 56 24 3d 22  51 22 3a 3d 31 32 0d 06  |. . V$="Q":=12..|
00001130  cc 19 e7 20 56 24 3d 22  4b 22 3a 3d 31 33 20 8b  |... V$="K":=13 .|
00001140  20 3d bb 28 56 24 29 0d  06 d6 05 3a 0d 06 e0 12  | =.(V$)....:....|
00001150  dd 20 a4 72 6c 28 69 70  24 28 49 25 29 29 0d 06  |. .rl(ip$(I%))..|
00001160  ea 14 72 3d bb 28 c0 69  70 24 28 49 25 29 2c 31  |..r=.(.ip$(I%),1|
00001170  29 29 0d 06 f4 12 63 24  3d c2 69 70 24 28 49 25  |))....c$=.ip$(I%|
00001180  29 2c 31 29 0d 06 fe 1b  e7 20 a7 72 6c 24 28 72  |),1)..... .rl$(r|
00001190  29 2c 63 24 29 20 8c 20  3d b9 20 8b 20 3d a3 0d  |),c$) . =. . =..|
000011a0  07 08 05 3a 0d 07 12 18  dd 20 f2 72 65 6d 6f 76  |...:..... .remov|
000011b0  65 63 61 72 64 28 61 25  2c 62 25 29 0d 07 1c 08  |ecard(a%,b%)....|
000011c0  e6 30 2c 32 0d 07 26 18  ec 63 78 25 28 62 25 29  |.0,2..&..cx%(b%)|
000011d0  2d 32 2c 63 79 25 28 62  25 29 2d 32 0d 07 30 0f  |-2,cy%(b%)-2..0.|
000011e0  f0 39 37 2c 31 32 36 2c  31 38 32 0d 07 3a 17 63  |.97,126,182..:.c|
000011f0  76 24 28 62 25 29 3d 22  22 3a 70 25 28 62 25 29  |v$(b%)="":p%(b%)|
00001200  3d 30 0d 07 44 1a e7 20  43 25 3e 31 33 20 80 20  |=0..D.. C%>13 . |
00001210  53 25 3e 30 20 74 66 6c  61 67 3d b9 0d 07 4e 0e  |S%>0 tflag=...N.|
00001220  e7 20 61 25 3d 30 20 8c  20 e1 0d 07 58 0e d4 30  |. a%=0 . ...X..0|
00001230  2c 2d 31 30 2c 34 2c 31  0d 07 62 11 f2 63 68 65  |,-10,4,1..b..che|
00001240  63 6b 28 61 25 2c 62 25  29 0d 07 6c 12 f2 72 65  |ck(a%,b%)..l..re|
00001250  70 61 69 72 28 61 25 2c  62 25 29 0d 07 76 05 e1  |pair(a%,b%)..v..|
00001260  0d 07 80 05 3a 0d 07 8a  14 dd 20 f2 72 65 70 61  |....:..... .repa|
00001270  69 72 28 41 25 2c 42 25  29 0d 07 94 12 49 25 3d  |ir(A%,B%)....I%=|
00001280  28 42 25 2d 28 41 25 2b  31 29 29 0d 07 9e 14 e7  |(B%-(A%+1)).....|
00001290  20 ac 20 70 25 28 49 25  29 20 e5 8d 64 6e 47 0d  | . p%(I%) ..dnG.|
000012a0  07 a8 1c e6 30 2c 33 3a  ec 63 78 25 28 49 25 29  |....0,3:.cx%(I%)|
000012b0  2b 38 36 2c 63 79 25 28  49 25 29 0d 07 b2 0d f0  |+86,cy%(I%).....|
000012c0  39 37 2c 33 34 2c 38 34  0d 07 bc 1e ec 63 78 25  |97,34,84.....cx%|
000012d0  28 49 25 29 2b 38 36 2c  63 79 25 28 49 25 29 2d  |(I%)+86,cy%(I%)-|
000012e0  32 3a e6 30 2c 30 0d 07  c6 1d f0 32 39 2c 63 78  |2:.0,0.....29,cx|
000012f0  25 28 49 25 29 2b 31 32  34 2c 63 79 25 28 49 25  |%(I%)+124,cy%(I%|
00001300  29 2d 32 0d 07 d0 1e f0  32 39 2c 63 78 25 28 49  |)-2.....29,cx%(I|
00001310  25 29 2b 31 32 34 2c 63  79 25 28 49 25 29 2b 38  |%)+124,cy%(I%)+8|
00001320  38 0d 07 da 1b e7 20 70  25 28 49 25 29 3c 3e 30  |8..... p%(I%)<>0|
00001330  20 8c 20 70 25 28 49 25  29 3d 49 25 0d 07 e4 11  | . p%(I%)=I%....|
00001340  f2 64 69 73 70 6c 61 79  32 28 49 25 29 0d 07 ee  |.display2(I%)...|
00001350  13 49 25 3d 28 42 25 2d  41 25 29 3a e6 30 2c 33  |.I%=(B%-A%):.0,3|
00001360  0d 07 f8 10 e7 20 ac 20  70 25 28 49 25 29 20 e1  |..... . p%(I%) .|
00001370  0d 08 02 1e ec 63 78 25  28 49 25 29 2c 63 79 25  |.....cx%(I%),cy%|
00001380  28 49 25 29 3a f0 39 37  2c 33 38 2c 38 36 0d 08  |(I%):.97,38,86..|
00001390  0c 1e e6 30 2c 30 3a ec  63 78 25 28 49 25 29 2d  |...0,0:.cx%(I%)-|
000013a0  32 2c 63 79 25 28 49 25  29 2b 38 38 0d 08 16 1b  |2,cy%(I%)+88....|
000013b0  f0 32 39 2c 63 78 25 28  49 25 29 2d 32 2c 63 79  |.29,cx%(I%)-2,cy|
000013c0  25 28 49 25 29 2d 32 0d  08 20 1c f0 32 39 2c 63  |%(I%)-2.. ..29,c|
000013d0  78 25 28 49 25 29 2b 34  30 2c 63 79 25 28 49 25  |x%(I%)+40,cy%(I%|
000013e0  29 2d 32 0d 08 2a 1b e7  20 70 25 28 49 25 29 3c  |)-2..*.. p%(I%)<|
000013f0  3e 30 20 8c 20 70 25 28  49 25 29 3d 49 25 0d 08  |>0 . p%(I%)=I%..|
00001400  34 05 e1 0d 08 3e 05 3a  0d 08 48 13 dd 20 f2 63  |4....>.:..H.. .c|
00001410  68 65 63 6b 28 41 25 2c  42 25 29 0d 08 52 42 e7  |heck(A%,B%)..RB.|
00001420  20 28 42 25 3d 32 20 84  20 42 25 3d 34 20 84 20  | (B%=2 . B%=4 . |
00001430  42 25 3d 37 20 84 20 42  25 3d 31 31 20 84 20 42  |B%=7 . B%=11 . B|
00001440  25 3d 31 36 20 84 20 42  25 3d 32 32 29 20 8c 20  |%=16 . B%=22) . |
00001450  70 25 28 42 25 2d 41 25  29 3d b9 3a e1 0d 08 5c  |p%(B%-A%)=.:...\|
00001460  47 e7 20 28 42 25 3d 33  20 84 20 42 25 3d 36 20  |G. (B%=3 . B%=6 |
00001470  84 20 42 25 3d 31 30 20  84 20 42 25 3d 31 35 20  |. B%=10 . B%=15 |
00001480  84 20 42 25 3d 32 31 20  84 20 42 25 3d 32 38 29  |. B%=21 . B%=28)|
00001490  20 8c 20 70 25 28 42 25  2d 28 41 25 2b 31 29 29  | . p%(B%-(A%+1))|
000014a0  3d b9 3a e1 0d 08 66 20  e7 20 70 25 28 42 25 2d  |=.:...f . p%(B%-|
000014b0  41 25 29 3c 3e 30 20 8c  20 70 25 28 42 25 2d 41  |A%)<>0 . p%(B%-A|
000014c0  25 29 3d b9 0d 08 70 28  e7 20 70 25 28 42 25 2d  |%)=...p(. p%(B%-|
000014d0  28 41 25 2b 31 29 29 3c  3e 30 20 8c 20 70 25 28  |(A%+1))<>0 . p%(|
000014e0  42 25 2d 28 41 25 2b 31  29 29 3d b9 0d 08 7a 05  |B%-(A%+1))=...z.|
000014f0  e1 0d 08 84 05 3a 0d 08  8e 13 dd 20 f2 64 69 73  |.....:..... .dis|
00001500  70 6c 61 79 32 28 49 25  29 0d 08 98 14 70 69 70  |play2(I%)....pip|
00001510  24 3d c0 63 76 24 28 49  25 29 2c 31 29 0d 08 a2  |$=.cv$(I%),1)...|
00001520  1f 63 61 72 64 24 3d 63  76 24 28 49 25 29 3a f2  |.card$=cv$(I%):.|
00001530  73 75 69 74 73 28 63 61  72 64 24 29 0d 08 ac 1a  |suits(card$)....|
00001540  ec 63 78 25 28 49 25 29  2b 38 38 2c 63 79 25 28  |.cx%(I%)+88,cy%(|
00001550  49 25 29 2b 36 34 0d 08  b6 0c ef 35 3a f1 70 69  |I%)+64.....5:.pi|
00001560  70 24 0d 08 c0 1a ec 63  78 25 28 49 25 29 2b 38  |p$.....cx%(I%)+8|
00001570  38 2c 63 79 25 28 49 25  29 2b 33 32 0d 08 ca 0f  |8,cy%(I%)+32....|
00001580  f1 73 75 69 74 24 3a ef  34 3a e1 0d 08 d4 05 3a  |.suit$:.4:.....:|
00001590  0d 08 de 19 dd 20 f2 65  72 72 28 65 25 29 3a fb  |..... .err(e%):.|
000015a0  31 3a 2a 46 58 31 35 2c  31 0d 08 e8 13 d4 31 2c  |1:*FX15,1.....1,|
000015b0  2d 31 35 2c 32 30 2c 35  3a db 3a f1 0d 08 f2 24  |-15,20,5:.:....$|
000015c0  e7 20 65 25 3d 31 20 f1  22 52 6f 77 20 6e 75 6d  |. e%=1 ."Row num|
000015d0  62 65 72 20 69 6e 63 6f  72 72 65 63 74 20 22 3b  |ber incorrect ";|
000015e0  0d 08 fc 1e e7 20 65 25  3d 32 20 f1 3b 22 49 6e  |..... e%=2 .;"In|
000015f0  76 61 6c 69 64 20 65 6e  74 72 79 2e 22 3b 0d 09  |valid entry.";..|
00001600  06 32 e7 20 65 25 3d 33  20 f1 3b 69 70 24 28 49  |.2. e%=3 .;ip$(I|
00001610  25 29 3b 22 20 48 61 73  20 61 6c 72 65 61 64 79  |%);" Has already|
00001620  20 62 65 65 6e 20 72 65  6d 6f 76 65 64 2e 22 3b  | been removed.";|
00001630  0d 09 10 2b e7 20 65 25  3d 34 20 f1 3b 69 70 24  |...+. e%=4 .;ip$|
00001640  28 49 25 29 3b 22 20 4e  6f 74 20 79 65 74 20 61  |(I%);" Not yet a|
00001650  76 61 69 6c 61 62 6c 65  2e 22 3b 0d 09 1a 33 e7  |vailable.";...3.|
00001660  20 65 25 3d 35 20 f1 3b  69 70 24 28 31 29 3b 22  | e%=5 .;ip$(1);"|
00001670  2b 22 3b 69 70 24 28 32  29 3b 22 20 44 6f 20 4e  |+";ip$(2);" Do N|
00001680  4f 54 20 74 6f 74 61 6c  20 31 33 2e 22 3b 0d 09  |OT total 13.";..|
00001690  24 20 e7 20 65 25 3d 36  20 f1 3b 22 53 74 6f 63  |$ . e%=6 .;"Stoc|
000016a0  6b 20 65 78 68 61 75 73  74 65 64 2e 22 3b 0d 09  |k exhausted.";..|
000016b0  2e 40 e7 20 65 25 3d 37  20 f1 3b 22 43 61 72 64  |.@. e%=7 .;"Card|
000016c0  73 20 72 65 6d 61 69 6e  69 6e 67 20 3a 22 27 27  |s remaining :"''|
000016d0  22 57 61 73 74 65 3d 22  3b 57 25 3b 22 20 20 53  |"Waste=";W%;"  S|
000016e0  74 6f 63 6b 3d 22 3b 53  25 3b 22 20 22 3b 0d 09  |tock=";S%;" ";..|
000016f0  38 29 e7 20 65 25 3d 38  20 f1 22 43 6f 6c 20 74  |8). e%=8 ."Col t|
00001700  6f 20 52 6f 77 20 69 6e  70 75 74 20 6d 69 73 2d  |o Row input mis-|
00001710  6d 61 74 63 68 22 3b 0d  09 42 14 fb 32 3a f1 22  |match";..B..2:."|
00001720  20 48 49 54 20 53 50 41  43 45 22 0d 09 4c 0e f5  | HIT SPACE"..L..|
00001730  20 fd 20 a5 3d 33 32 3a  db 0d 09 56 0f fb 33 3a  | . .=32:...V..3:|
00001740  db 3a 65 25 3d 30 3a e1  0d 09 60 05 3a 0d 09 6a  |.:e%=0:...`.:..j|
00001750  0b dd 20 f2 64 65 61 6c  0d 09 74 25 e7 20 28 53  |.. .deal..t%. (S|
00001760  25 3d 31 20 80 20 43 25  3d 31 36 29 20 8c 20 53  |%=1 . C%=16) . S|
00001770  25 3d 31 3a f2 65 72 72  28 36 29 3a e1 0d 09 7e  |%=1:.err(6):...~|
00001780  0b 53 25 3d 53 25 2d 31  0d 09 88 1a e7 20 53 25  |.S%=S%-1..... S%|
00001790  3c 3d 30 20 53 25 3d 30  3a f2 65 72 72 28 36 29  |<=0 S%=0:.err(6)|
000017a0  3a e1 0d 09 92 21 e7 20  53 25 3d 31 20 f2 72 65  |:....!. S%=1 .re|
000017b0  6d 6f 76 65 63 61 72 64  28 30 2c 30 29 3a e5 8d  |movecard(0,0):..|
000017c0  74 66 49 0d 09 9c 14 f2  73 74 6f 63 6b 28 31 31  |tfI.....stock(11|
000017d0  31 32 2c 39 36 36 29 0d  09 a6 2e e7 20 28 53 25  |12,966)..... (S%|
000017e0  3e 3d 30 20 80 20 53 25  3c 3d 32 33 20 80 20 57  |>=0 . S%<=23 . W|
000017f0  25 3e 3d 30 20 80 20 43  25 3d 31 36 29 20 74 66  |%>=0 . C%=16) tf|
00001800  6c 61 67 3d a3 0d 09 b0  14 e7 20 74 66 6c 61 67  |lag=...... tflag|
00001810  20 74 65 6d 70 24 3d 22  22 0d 09 ba 10 e7 20 57  | temp$=""..... W|
00001820  25 3c 3d 30 20 57 25 3d  30 0d 09 c4 0f 57 24 3d  |%<=0 W%=0....W$=|
00001830  57 24 2b 74 65 6d 70 24  0d 09 ce 24 e7 20 53 25  |W$+temp$...$. S%|
00001840  3e 30 20 80 20 53 25 3c  32 34 20 80 20 ac 20 74  |>0 . S%<24 . . t|
00001850  66 6c 61 67 20 57 25 3d  57 25 2b 31 0d 09 d8 22  |flag W%=W%+1..."|
00001860  74 65 6d 70 24 3d c0 73  74 6f 63 6b 24 2c 32 29  |temp$=.stock$,2)|
00001870  3a 63 76 24 28 33 30 29  3d 74 65 6d 70 24 0d 09  |:cv$(30)=temp$..|
00001880  e2 14 78 3d 39 32 30 3a  79 3d 37 39 30 3a e6 30  |..x=920:y=790:.0|
00001890  2c 33 0d 09 ec 11 ec 78  2c 79 3a ec 78 2b 31 32  |,3.....x,y:.x+12|
000018a0  30 2c 79 0d 09 f6 1c f0  38 35 2c 78 2c 79 2b 31  |0,y.....85,x,y+1|
000018b0  37 36 3a ec 78 2b 31 32  30 2c 79 2b 31 37 36 0d  |76:.x+120,y+176.|
000018c0  0a 00 1a f0 38 35 2c 78  2b 31 32 30 2c 79 3a f2  |....85,x+120,y:.|
000018d0  62 72 64 72 28 78 2c 79  29 0d 0a 0a 15 70 69 70  |brdr(x,y)....pip|
000018e0  24 3d c0 74 65 6d 70 24  2c 31 29 3a ef 35 0d 0a  |$=.temp$,1):.5..|
000018f0  14 1f f2 64 69 73 70 6c  61 79 31 28 74 65 6d 70  |...display1(temp|
00001900  24 29 3a d4 30 2c 2d 31  30 2c 34 2c 31 0d 0a 1e  |$):.0,-10,4,1...|
00001910  1f 73 74 6f 63 6b 24 3d  c2 73 74 6f 63 6b 24 2c  |.stock$=.stock$,|
00001920  a9 28 73 74 6f 63 6b 24  29 2d 32 29 0d 0a 28 12  |.(stock$)-2)..(.|
00001930  f2 64 69 73 70 77 61 73  74 65 28 57 24 29 0d 0a  |.dispwaste(W$)..|
00001940  32 10 74 66 6c 61 67 3d  a3 3a ef 34 3a e1 0d 0a  |2.tflag=.:.4:...|
00001950  3c 05 3a 0d 0a 46 14 dd  20 f2 64 69 73 70 77 61  |<.:..F.. .dispwa|
00001960  73 74 65 28 57 24 29 0d  0a 50 11 77 61 73 74 65  |ste(W$)..P.waste|
00001970  24 3d c2 57 24 2c 32 29  0d 0a 5a 22 e7 20 77 61  |$=.W$,2)..Z". wa|
00001980  73 74 65 24 3d 22 22 20  84 20 77 61 73 74 65 24  |ste$="" . waste$|
00001990  3d 77 61 73 74 65 32 24  20 e1 0d 0a 64 12 63 76  |=waste2$ ...d.cv|
000019a0  24 28 32 39 29 3d 77 61  73 74 65 24 0d 0a 6e 13  |$(29)=waste$..n.|
000019b0  78 3d 33 32 3a 79 3d 37  39 30 3a e6 30 2c 33 0d  |x=32:y=790:.0,3.|
000019c0  0a 78 1d ec 78 2c 79 3a  ec 78 2b 31 32 30 2c 79  |.x..x,y:.x+120,y|
000019d0  3a f0 38 35 2c 78 2c 79  2b 31 37 36 0d 0a 82 1c  |:.85,x,y+176....|
000019e0  ec 78 2b 31 32 30 2c 79  2b 31 37 36 3a f0 38 35  |.x+120,y+176:.85|
000019f0  2c 78 2b 31 32 30 2c 79  0d 0a 8c 0e f2 62 72 64  |,x+120,y.....brd|
00001a00  72 28 78 2c 79 29 0d 0a  96 16 70 69 70 24 3d c0  |r(x,y)....pip$=.|
00001a10  77 61 73 74 65 24 2c 31  29 3a ef 35 0d 0a a0 1d  |waste$,1):.5....|
00001a20  f2 64 69 73 70 6c 61 79  31 28 77 61 73 74 65 24  |.display1(waste$|
00001a30  29 3a 74 66 6c 61 67 3d  a3 0d 0a aa 12 77 61 73  |):tflag=.....was|
00001a40  74 65 32 24 3d 77 61 73  74 65 24 0d 0a b4 05 e1  |te2$=waste$.....|
00001a50  0d 0a be 05 3a 0d 0a c8  12 dd 20 f2 75 70 64 61  |....:..... .upda|
00001a60  74 65 77 61 73 74 65 0d  0a d2 17 57 25 3d 57 25  |tewaste....W%=W%|
00001a70  2d 31 3a e7 20 57 25 3c  30 20 57 25 3d 30 0d 0a  |-1:. W%<0 W%=0..|
00001a80  dc 13 57 24 3d c0 57 24  2c a9 28 57 24 29 2d 32  |..W$=.W$,.(W$)-2|
00001a90  29 0d 0a e6 14 f2 64 69  73 70 77 61 73 74 65 28  |).....dispwaste(|
00001aa0  57 24 29 3a e1 0d 0a f0  05 3a 0d 0a fa 0f dd 20  |W$):.....:..... |
00001ab0  f2 63 68 65 63 6b 77 69  6e 0d 0b 04 18 ea 20 49  |.checkwin..... I|
00001ac0  25 3a 77 69 6e 3d b9 3a  63 6f 75 6e 74 25 3d 32  |%:win=.:count%=2|
00001ad0  38 0d 0b 0e 13 e3 20 49  25 3d 32 38 20 b8 20 32  |8..... I%=28 . 2|
00001ae0  20 88 2d 31 0d 0b 18 21  e7 20 70 25 28 49 25 29  | .-1...!. p%(I%)|
00001af0  3e 30 20 77 69 6e 3d a3  3a 49 25 3d 32 3a ed 3a  |>0 win=.:I%=2:.:|
00001b00  e1 20 8b 20 ed 0d 0b 22  1e e7 20 57 25 3e 30 20  |. . ...".. W%>0 |
00001b10  84 20 53 25 3e 30 20 77  69 6e 3d a3 3a 49 25 3d  |. S%>0 win=.:I%=|
00001b20  32 3a e1 0d 0b 2c 0b e6  30 2c 30 3a ef 35 0d 0b  |2:...,..0,0:.5..|
00001b30  36 18 ec 31 38 36 2c 32  30 30 3a f0 39 37 2c 39  |6..186,200:.97,9|
00001b40  31 34 2c 34 30 30 0d 0b  40 24 e6 30 2c 33 3a ec  |14,400..@$.0,3:.|
00001b50  34 30 30 2c 35 36 34 3a  f1 22 43 4f 4e 47 52 41  |400,564:."CONGRA|
00001b60  54 55 4c 41 54 49 4f 4e  53 22 0d 0b 4a 22 ec 20  |TULATIONS"..J". |
00001b70  33 35 32 2c 34 36 30 3a  f1 22 59 6f 75 20 68 61  |352,460:."You ha|
00001b80  76 65 20 61 63 68 69 65  76 65 64 22 0d 0b 54 25  |ve achieved"..T%|
00001b90  ec 20 33 31 36 2c 34 32  34 3a f1 22 54 68 65 20  |. 316,424:."The |
00001ba0  61 6c 6d 6f 73 74 20 69  6d 70 6f 73 69 62 6c 65  |almost imposible|
00001bb0  22 0d 0b 5e 0f e3 20 49  25 3d 31 20 b8 20 32 32  |"..^.. I%=1 . 22|
00001bc0  0d 0b 68 1a d4 31 2c 2d  31 35 2c 70 69 25 28 49  |..h..1,-15,pi%(I|
00001bd0  25 29 2c 64 75 25 28 49  25 29 0d 0b 72 0e d4 31  |%),du%(I%)..r..1|
00001be0  2c 30 2c 30 2c 31 3a ed  0d 0b 7c 2d ec 20 31 39  |,0,0,1:...|-. 19|
00001bf0  36 2c 33 32 34 3a f1 22  57 6f 75 6c 64 20 79 6f  |6,324:."Would yo|
00001c00  75 20 6c 69 6b 65 20 74  6f 20 70 6c 61 79 20 61  |u like to play a|
00001c10  67 61 69 6e 22 0d 0b 86  17 ec 20 35 31 32 2c 32  |gain"..... 512,2|
00001c20  36 34 3a f1 22 28 59 2f  4e 29 22 3b 0d 0b 90 09  |64:."(Y/N)";....|
00001c30  f2 79 6e 3a e1 0d 0b 9a  05 3a 0d 0b a4 10 dd 20  |.yn:.....:..... |
00001c40  f2 71 75 69 74 3a ea 20  49 25 0d 0b ae 12 e3 20  |.quit:. I%..... |
00001c50  49 25 3d 32 38 20 b8 31  20 88 2d 31 0d 0b b8 1e  |I%=28 .1 .-1....|
00001c60  e7 20 70 25 28 49 25 29  3d 30 20 63 6f 75 6e 74  |. p%(I%)=0 count|
00001c70  25 3d 63 6f 75 6e 74 25  2d 31 0d 0b c2 0d ed 3a  |%=count%-1.....:|
00001c80  ef 32 32 2c 36 2c 37 0d  0b cc 76 f1 27 27 27 22  |.22,6,7...v.'''"|
00001c90  42 61 64 20 4c 75 63 6b  2e 2e 2e 2e 22 27 22 59  |Bad Luck...."'"Y|
00001ca0  6f 75 20 68 61 76 65 20  62 65 65 6e 20 75 6e 61  |ou have been una|
00001cb0  62 6c 65 20 74 6f 20 63  6f 6d 70 6c 65 74 65 22  |ble to complete"|
00001cc0  27 22 47 61 6d 65 20 22  3b 67 61 6d 65 25 3a f1  |'"Game ";game%:.|
00001cd0  27 27 22 54 68 65 72 65  20 61 72 65 20 22 3b 57  |''"There are ";W|
00001ce0  25 3b 22 20 63 61 72 64  73 20 6c 65 66 74 20 69  |%;" cards left i|
00001cf0  6e 20 74 68 65 20 77 61  73 74 65 2e 22 0d 0b d6  |n the waste."...|
00001d00  24 f1 8a 31 30 29 3b 53  25 3b 22 20 63 61 72 64  |$..10);S%;" card|
00001d10  73 20 6c 65 66 74 20 69  6e 20 73 74 6f 63 6b 2e  |s left in stock.|
00001d20  22 0d 0b e0 33 f1 8a 36  29 22 61 6e 64 20 22 3b  |"...3..6)"and ";|
00001d30  63 6f 75 6e 74 25 3b 22  20 63 61 72 64 73 20 6c  |count%;" cards l|
00001d40  65 66 74 20 69 6e 20 74  68 65 20 70 79 72 61 6d  |eft in the pyram|
00001d50  69 64 2e 22 0d 0b ea 37  f1 27 27 22 42 65 74 74  |id."...7.''"Bett|
00001d60  65 72 20 6c 75 63 6b 20  6e 65 78 74 20 74 69 6d  |er luck next tim|
00001d70  65 2e 22 27 27 22 50 6c  61 79 20 61 67 61 69 6e  |e."''"Play again|
00001d80  20 3f 20 20 28 59 2f 4e  29 22 3b 0d 0b f4 09 f2  | ?  (Y/N)";.....|
00001d90  79 6e 3a e1 0d 0b fe 05  3a 0d 0c 08 09 dd 20 f2  |yn:.....:..... .|
00001da0  79 6e 0d 0c 12 1d f5 20  47 3d a7 22 59 79 4e 6e  |yn..... G=."YyNn|
00001db0  22 2c be 29 3a fd 47 3e  30 20 80 20 47 3c 35 0d  |",.):.G>0 . G<5.|
00001dc0  0c 1c 6c e7 20 47 3c 33  20 ef 32 32 2c 34 2c 32  |..l. G<3 .22,4,2|
00001dd0  33 3b 38 32 30 32 3b 30  3b 30 3b 30 3b 3a e5 8d  |3;8202;0;0;0;:..|
00001de0  44 46 40 20 8b 20 f1 27  27 22 54 68 61 6e 6b 73  |DF@ . .''"Thanks|
00001df0  20 66 6f 72 20 70 6c 61  79 69 6e 67 20 50 59 52  | for playing PYR|
00001e00  41 4d 49 44 20 50 41 54  49 45 4e 43 45 2e 22 27  |AMID PATIENCE."'|
00001e10  22 4e 65 78 74 20 74 69  6d 65 20 79 6f 75 27 6c  |"Next time you'l|
00001e20  6c 20 64 6f 20 69 74 21  22 3a e0 0d 0c 26 05 3a  |l do it!":...&.:|
00001e30  0d 0c 30 0c dd 20 f2 70  65 74 65 72 0d 0c 3a 24  |..0.. .peter..:$|
00001e40  db 3a 58 25 3d 37 3a f1  8a 31 32 2c 31 29 22 50  |.:X%=7:..12,1)"P|
00001e50  59 52 41 4d 49 44 20 50  41 54 49 45 4e 43 45 22  |YRAMID PATIENCE"|
00001e60  0d 0c 44 3e f1 8a 31 30  2c 32 29 22 3d 3d 3d 3d  |..D>..10,2)"====|
00001e70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00001e80  22 8a 39 2c 33 29 22 41  75 74 68 6f 72 3a 20 4c  |".9,3)"Author: L|
00001e90  65 73 6c 69 65 20 4a 2e  20 46 6f 77 6c 22 0d 0c  |eslie J. Fowl"..|
00001ea0  4e 28 f1 27 27 27 22 20  20 20 20 20 20 20 20 20  |N(.'''"         |
00001eb0  20 20 20 53 48 55 46 46  4c 45 20 4f 50 54 49 4f  |   SHUFFLE OPTIO|
00001ec0  4e 53 3a 22 27 27 0d 0c  58 29 f1 27 27 22 20 20  |NS:"''..X).''"  |
00001ed0  20 20 20 20 20 20 31 29  20 53 74 72 61 69 67 68  |      1) Straigh|
00001ee0  74 20 53 68 75 66 66 6c  65 20 6f 6e 6c 79 22 0d  |t Shuffle only".|
00001ef0  0c 62 2d f1 27 27 22 20  20 20 20 32 29 20 20 53  |.b-.''"    2)  S|
00001f00  68 75 66 66 6c 65 20 61  6e 64 20 70 61 69 72 73  |huffle and pairs|
00001f10  20 73 65 70 61 72 61 74  69 6f 6e 22 0d 0c 6c 28  | separation"..l(|
00001f20  f1 27 27 22 20 20 20 20  20 20 20 20 20 33 29 20  |.''"         3) |
00001f30  44 6f 75 62 6c 65 20 53  68 75 66 66 6c 65 20 6f  |Double Shuffle o|
00001f40  6e 6c 79 22 0d 0c 76 30  f1 27 27 22 20 34 29 20  |nly"..v0.''" 4) |
00001f50  44 6f 75 62 6c 65 20 53  68 75 66 66 6c 65 20 61  |Double Shuffle a|
00001f60  6e 64 20 70 61 69 72 73  20 73 65 70 61 72 61 74  |nd pairs separat|
00001f70  69 6f 6e 22 0d 0c 80 31  f1 27 27 27 22 50 61 69  |ion"...1.'''"Pai|
00001f80  72 73 20 73 65 70 61 72  61 74 69 6f 6e 20 61 70  |rs separation ap|
00001f90  70 6c 69 65 73 20 74 6f  20 73 74 6f 63 6b 20 6f  |plies to stock o|
00001fa0  6e 6c 79 2e 22 0d 0c 8a  20 f1 27 27 27 22 45 6e  |nly."... .'''"En|
00001fb0  74 65 72 20 6f 70 74 69  6f 6e 20 6e 75 6d 62 65  |ter option numbe|
00001fc0  72 20 3a 22 3b 0d 0c 94  27 f5 3a 47 25 3d a5 2d  |r :";...'.:G%=.-|
00001fd0  34 38 3a fd 20 47 25 3e  30 20 80 20 47 25 3c 35  |48:. G%>0 . G%<5|
00001fe0  3a f1 8a 32 32 2c 32 39  29 3b 47 25 0d 0c 9e 16  |:..22,29);G%....|
00001ff0  e7 20 47 25 3d 31 20 53  48 25 3d a3 3a 50 50 25  |. G%=1 SH%=.:PP%|
00002000  3d a3 0d 0c a8 16 e7 20  47 25 3d 32 20 53 48 25  |=...... G%=2 SH%|
00002010  3d a3 3a 50 50 25 3d b9  0d 0c b2 16 e7 20 47 25  |=.:PP%=...... G%|
00002020  3d 33 20 53 48 25 3d b9  3a 50 50 25 3d a3 0d 0c  |=3 SH%=.:PP%=...|
00002030  bc 16 e7 20 47 25 3d 34  20 53 48 25 3d b9 3a 50  |... G%=4 SH%=.:P|
00002040  50 25 3d b9 0d 0c c6 1d  f1 8a 32 38 2c 32 39 29  |P%=.......28,29)|
00002050  22 53 68 75 66 66 6c 69  6e 67 2e 2e 2e 22 3b 3a  |"Shuffling...";:|
00002060  e1 0d 0c d0 05 3a 0d 0c  da 5c dd f2 6c 6f 63 3a  |.....:...\..loc:|
00002070  fb 30 3a 2a 4b 45 59 30  20 2a 54 41 50 45 7c 4d  |.0:*KEY0 *TAPE|M|
00002080  46 4f 52 49 25 3d 30 54  4f 20 54 4f 50 2d 50 41  |FORI%=0TO TOP-PA|
00002090  47 45 20 53 54 45 50 34  3a 49 25 21 26 45 30 30  |GE STEP4:I%!&E00|
000020a0  3d 49 25 21 50 41 47 45  3a 4e 2e 7c 4d 50 41 47  |=I%!PAGE:N.|MPAG|
000020b0  45 3d 26 45 30 30 7c 4d  4f 4c 44 7c 4d 52 55 4e  |E=&E00|MOLD|MRUN|
000020c0  7c 4d 0d 0c e4 10 2a 46  58 31 33 38 20 30 20 31  ||M....*FX138 0 1|
000020d0  32 38 0d 0c ee 05 e0 0d  ff                       |28.......|
000020d9
G/PYRPAT2.m0
G/PYRPAT2.m1
G/PYRPAT2.m2
G/PYRPAT2.m4
G/PYRPAT2.m5